我在表中将 id 设置为自动递增列,并且我试图将列 id 中的数据复制到列 user_id。
下面的查询插入数据并自动递增列 id,但是我希望列 user_id 具有与 id 相同的值,所以如果 id 自动递增到 31,那么 user_id 也将是 31。
这是我正在使用的查询:
$query="INSERT INTO ptb_users (user_id,
id,
first_name,
last_name,
email )
VALUES('NULL',
'NULL',
'".$firstname."',
'".$lastname."',
'".$email."'
)";
$result = mysql_query("UPDATE ptb_users SET user_id=id");
mysql_query($query) or die();
我遇到的问题是 id 和 user_id 之间的更新/复制只会在另一个用户注册后/第二次运行查询后发生在当前注册中。
所以说 id 31 需要被复制到列 user_id 这不会发生,直到另一个用户第二次注册/运行查询。如果新注册的人是 id 32,那么在 id 32 注册/运行第二次查询之前,之前用户(id 31)的 id 和 user_id 之间的更新不会发生。
我如何才能在查询或查询完成后立即进行更新,以便当 id 31 注册/运行查询时,id 和 user_id 之间的更新会在查询运行的同时发生?
真的我更喜欢将 id 和 user_id 作为自动增量,但因为不可能有两个自动增量字段我试图将自动增量结果从 id 复制到 user_id 并且我需要这样做,因为我的代码在我的网站上交叉引用两列以确保安全。