如何使用LAST_INSERT_ID()MySQL进行多次插入?

时间:2015-03-12 04:15:45

标签: php mysql sql insert

我有3张桌子:

  • 客户
  • 电子邮件
  • 电话

他们每个人都有自己的AUTO_INCREMENT id (id_customer, id_email, id_phone),我还有2个表来与他们联系:

  • CUSTOMER_EMAIL
  • customer_phone

这些表包含其他表的id作为外键。

如何使用LAST_INSERT_ID()在单个SQL语句中将它们关联起来?或者你推荐什么?

1 个答案:

答案 0 :(得分:1)

您可以使用变量存储LAST_INSERT_ID()的结果。

INSERT INTO email(...) VALUES (...);
SET @email_id = LAST_INSERT_ID();

INSERT INTO phone(...) VALUES (...);
SET @phone_id = LAST_INSERT_ID();

INSERT INTO customer_phone(id_email, id_phone) VALUES(@email_id, @phone_id);