mysql从第一个插入到两个表中

时间:2014-11-27 19:07:50

标签: php mysql bulkinsert

我需要在表格中插入一些数据'公司'列: company_id | COMPANY_NAME

并同时(从同一表格)到另一个表格' contact_persons' : contact_name | COMPANY_ID

其中company_id必须是'公司'的价值。 table其中company_id是PK和AI。 是否可以在一个步骤中执行此操作,而不是先插入company_name,然后阅读表格'公司'并检索' company_id'将其插入第二个表格(' contact_persons')?

我不确定这是否可行,但它会更加优雅和高效...... 提前谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用LAST_INSERT_ID()来获取Companies表中的最后一个自动增量ID,并将其插入到其他表中。

之类的东西
INSERT INTO companies (company_name) VALUES ('test'); 
SET @last_id_companies = LAST_INSERT_ID();
INSERT INTO contact_persons (contact_name, company_id) 
                        VALUES ('test', @last_id_companies);

答案 1 :(得分:0)

不是在单个语句中,而是在单个事务中,因此它们同时执行并回滚。

START TRANSACTION;
--Your statements here
COMMIT;