我有两张桌子:employee
和employee_group
。插入第一个表后,我将从该表中获取最后插入的 id。接下来我需要插入表格employee_group
。SQL:
INSERT INTO employee_group (employee_id, group_id)
SELECT {$currentEmpId}, group_id
FROM employee_group
WHERE employee_id = {$anyId}
MySQL 已返回 TRUE。但是没有插入记录。
我注意到如果尝试为以前插入的员工插入记录,那么查询将成功。例子:
- 插入员工,将
$currentEmpId
作为最后插入的 id返回 INSERT INTO employee_group (employee_id, group_id) SELECT {$currentEmpId - 1}, group_id FROM employee_group WHERE employee_id = {$anyEmpId}
或者,如果我尝试同时插入当前员工和上一个员工的记录,那么第一次查询将不成功,但第二次查询正常。
数据库没有触发器、外键或函数。没什么,只是数据。
我陷入了僵局。
UPD:如果我将记录保存到 php 变量然后 foreach 它并将每条记录作为一个项目插入,就像INSERT INTO employee_group (employee_id, group_id) VALUES (xxx, yyy)
我也会遇到这个问题一样。