我的sql数据库中有两个数据库表。第一个是个人桌子,另一个是付款细节。个人表中的自动加入ID用作付款细节的外键。我必须一次向两个表插入数据。我应该将数据插入个人表并获取此行的自动增量ID并将数据插入到支付数据表中。但我有一些问题。
我对此并不了解。帮助我!
答案 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让我深入挖掘。