簡體   English   中英

MySQL加載數據文件重復

[英]MySql load data infile duplicates

我有一個12000行和90列的大型CSV文件。

我想使用mysql加載數據infile查詢將其上傳到我的mysql數據庫。

但是我一直收到這樣的錯誤,我的CSV在主鍵上有重復。

我確定它在主鍵上沒有重復項。

可能是什么問題呢?

這是我的代碼

$sql = "LOAD DATA INFILE '/a_bysch_store (2).csv' INTO TABLE a_bysch"
. " FIELDS TERMINATED BY ','"
. " LINES TERMINATED BY '\r\n'"
. " IGNORE 1 LINES"; 

//Try to execute query (not stmt) and catch mysqli error from engine and php error
if (!($stmt = $mysqli->query($sql))) {
   echo "\nQuery execute failed: ERRNO: (" . $mysqli->errno . ") " . $mysqli->error;
}

代替LOAD DATA INFILE使用LOAD DATA LOCAL INFILE。 這會將重復的鍵錯誤轉換為警告,並且文件應在跳過重復項的情況下導入。 這與使用IGNORE開關相同。 您可能可以使用任何一個。 我看到您正在使用IGNORE 1行,但這不會忽略重復的鍵。

另外,如果您將自動增量用作主鍵,請不要在csv文件中傳遞該值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM