如何使用 LAST_INSERT_ID() MySQL 进行多次插入?
How to do a multiple insert using LAST_INSERT_ID() MySQL?
我有 3 个表:
- 客户
- 电子邮件
- phone
他们每个人都有自己的 AUTO_INCREMENT id (id_customer, id_email, id_phone)
,我还有 2 个表格来关联它们:
- customer_email
- customer_phone
这些表包含其他表的 ID 作为外键。
如何使用 LAST_INSERT_ID()
在单个 SQL 语句中关联它们?或者你推荐什么?
您可以使用变量存储 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);
我有 3 个表:
- 客户
- 电子邮件
- phone
他们每个人都有自己的 AUTO_INCREMENT id (id_customer, id_email, id_phone)
,我还有 2 个表格来关联它们:
- customer_email
- customer_phone
这些表包含其他表的 ID 作为外键。
如何使用 LAST_INSERT_ID()
在单个 SQL 语句中关联它们?或者你推荐什么?
您可以使用变量存储 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);