我有一个名为 invisible 的表,其中包含 3 个字段(user_id、用户名、密码),另一个名为 user_info 的表包含字段(user_id、first_name 和 last_name)。user_info 中的 user_id 对不可见的 user_id 具有外键约束,并且该 id 由 MySQL 使用自动增量自动生成。我想将有关用户的数据插入这两个表中。截至目前,我想到的是使用 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 而不必处理用户名和密码,或者更好的是,以某种更好的方式完成整个事情,比如一步?