mysql& php自动增加id并插入数据

时间:2016-06-15 05:12:33

标签: php mysql database

我的sql数据库中有两个数据库表。第一个是个人桌子,另一个是付款细节。个人表中的自动加入ID用作付款细节的外键。我必须一次向两个表插入数据。我应该将数据插入个人表并获取此行的自动增量ID并将数据插入到支付数据表中。但我有一些问题。

  • 我无法使用sql SELECT查询获取自动增量ID 很容易。因为有更多的colums要检查WHERE。
  • 获取最后一个插入ID并不完美。因为其他用户可以插入 我访问时收到了另一个人的数据,我收到了错误的身份。

我对此并不了解。帮助我!

1 个答案:

答案 0 :(得分:1)

我不太了解你的结构,但这里最好的方法是使用交易。链接:http://dev.mysql.com/doc/refman/5.7/en/commit.html

START TRANSACTION;
INSERT /* Your insertion into personalTable */
SELECT @lastId:=LAST_INSERT_ID();
INSERT INTO paymentTable SET (user_id) VALUES (@lastId);
COMMIT;

此外,您需要将TRANSACTION ISOLATION LEVEL设置为SERIALIZABLE以防止任何交易违规。

UPD。谢谢@Drew让我深入挖掘。