2017-09-21 175 views
-1

試圖將employee_id列中的所有數據從staff表中刪除,INSERT列中的employee_id列在employees表中。重複鍵錯誤MySQL

我收到重複項的重要錯誤。我試過使用REPLACE INTOIGNORE INTO。該腳本僅影響employees表的第一行,並插入employee_id,但將所有其他字段更改爲空。

require 'config.php'; 

$sql = "INSERT INTO employees (employee_id) SELECT employee_id FROM staff"; 

if ($mysqli->query($sql) === TRUE) { 
    echo "New records created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $mysqli->error; 
} 
+0

員工表是空的嗎? – rtfm

+0

不,員工表在每個字段中都有數據,除了「employee_id」 –

+1

,那麼您需要更新查詢,而不是插入 – rtfm

回答

0

如果只讀屬性你申請你的插入查詢是「僱員標識」和你正在用插入重複鍵錯誤/忽略和替換,然後EMPLOYEE_ID不是僱員表的主鍵,別的東西被定義爲主鍵(或唯一索引)。如果你提供了表格結構,這將是顯而易見的。

+0

所以插入不工作,因爲「employee_id」是一個表中的主鍵,但不是另一個表中的主鍵?是否可以在不改變表格結構的情況下解決這個問題? –

+0

如果不知道更多信息,則無法回答,這些信息不適用於此處的討論。假設「否」 – symcbean