我有兩個表格:employee
和employee_group
。插入到第一個表後,我將從此表中獲取最後插入的ID。接下來我需要插入表employee_group
。 SQL:Mysql沒有插入記錄
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變量,然後將其插入並插入每個記錄作爲一個項目,如INSERT INTO employee_group (employee_id, group_id) VALUES (xxx, yyy)
我也會得到這個問題。
什麼日誌報告? – Peon 2012-07-12 10:19:13
'{$ currentEmpId - 1}'會導致PHP語法錯誤,而definitley會導致sql語法錯誤。 – 2012-07-12 10:24:13
對於那段代碼我很抱歉,確實有'sprintf(「.. SELECT%u ..」,$ currentEmpId - 1)',但我已經替換它以更好地理解。 – diNord 2012-07-12 10:29:07