繁体   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