我有一個將csv導入到MySQL數據庫的PHP腳本。進口使用此行代碼使用PHP將CSV導入到MySQL跳過重複項
$query = "insert into $databasetable values('$linemysql');";
唯一的問題是,當我嘗試導入的CSV與重複的腳本錯誤進行正常工作。如何調整此腳本以跳過存在的重複項?
我有一個將csv導入到MySQL數據庫的PHP腳本。進口使用此行代碼使用PHP將CSV導入到MySQL跳過重複項
$query = "insert into $databasetable values('$linemysql');";
唯一的問題是,當我嘗試導入的CSV與重複的腳本錯誤進行正常工作。如何調整此腳本以跳過存在的重複項?
INSERT IGNORE
將不插入一行是否會導致重複鍵。但是,它也會忽略(並且不會產生錯誤)其他一些情況,比如嘗試將NULL
插入到具有約束條件的列中。
如果您只是想忽略重複但仍然出現其他插入錯誤,請改爲使用INSERT ... ON DUPLICATE KEY UPDATE
。這將使用重複密鑰來更新行,但會帶來一些性能成本。
如果你正在使用MySQL嘗試:
$query = "insert ignore into $databasetable values('$linemysql');";
不知道那些關鍵字+1 :) – dmp 2012-04-20 10:28:10
完美,謝謝! – 2012-04-20 10:36:34