3 つのフィールド (user_id、username、password) を持つ invisible という名前のテーブルと、フィールド (user_id、first_name、last_name) を持つ user_info という名前の別のテーブルがあります。user_info の user_id には、invisible の user_id に対する外部キー制約があり、この ID は自動インクリメントを使用して MySQL によって自動生成されます。これら2つのテーブルにユーザーに関するデータを挿入したいと思います。今のところ、INSERTを使用してランダムな一意のユーザー名を挿入することを念頭に置いていました
$username=bin2hex(openssl_random_pseudo_bytes(10));
$password=bin2hex(openssl_random_pseudo_bytes(10));
$query="INSERT INTO invisible SET username='$username', password='$password'";
mysqli_query($query);
そして、
mysqli_query("INSERT INTO user_info SET user_id=(SELECT user_id FROM invisible WHERE username=$username AND password=$password) , first_name=$first_name, last_name=$lastname");
ただし、ユーザー名とパスワードは一意である必要はないため、これは悪い方法だと思います。
だから私の質問は、ユーザー名とパスワードを処理することなく、最後の挿入から user_id を選択する方法はありますか?