私は2つのテーブルを持っています: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}
または、現在の従業員と前の従業員のレコードを同時に挿入しようとすると、最初のクエリは失敗しますが、2番目のクエリは問題ありません。
データベースには、トリガー、外部キー、または関数はありません。何も、ただのデータ。
私は行き詰まっています。
UPD:レコードをphp変数に取得し、それをforeachして、各レコードを1つのアイテムとして挿入するINSERT INTO employee_group (employee_id, group_id) VALUES (xxx, yyy)
と、この問題も発生します。