mysql - 如何正确使用LOAD DATA INFILE?

标签 mysql sql

我有很多数据记录,我想把它导入到数据库中的一个表中。我正在使用 phpmyadmin。我输入了

LOAD DATA INFILE 'C:/Users/Asus/Desktop/cobacobaa.csv' INTO TABLE akdhis_kelanjutanstudi

但是结果是这样的: enter image description here

我不知道为什么它说我的主条目有重复条目“0”,但实际上在我的数据中没有重复条目,这是我的一部分数据 enter image description here

你能帮我解决这个问题吗?我可以做些什么来解决这个问题?提前致谢

最佳答案

我猜你的主键是一个数字。那么问题就是该值以双引号开头。将字符串转换为数字时,MySQL 会转换前导数字字符——如果没有此类字符,则值为零。

以下可能会解决您的问题:

LOAD DATA INFILE 'C:/Users/Asus/Desktop/cobacobaa.csv'
    INTO TABLE akdhis_kelanjutanstudi
    FIELDS TERMINATED BY ',' ENCLOSED BY '"';

我通常将数据加载到暂存表中,其中所有值都是字符串,然后将暂存表转换为最终版本。这可能会在数据库中使用更多空间,但我发现出现问题时调试过程会更快。

关于mysql - 如何正确使用LOAD DATA INFILE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608160/

相关文章:

mysql - 以两种不同方式使用 Mysql 轮函数时得到不同的结果

sql - 如何查找在 MySQL 中插入/删除的行数

php - 具有相同 PK 的 LEFT JOIN GROUP 结果

mysql - 如何使用具有不同值的 COUNT(*) 函数?

mysql - 无法更改 Laravel 表列类型

c# - 部署使用 LINQ to Entities 的应用程序

php - 检查 Mysql 中的重复值

php - Laravel ORM 获取每一行的频率并将其重新插入表中

sql - mysql存储过程可以有默认参数吗?

sql - LISTAGG 函数在 DB2 LUW 9.7 FP5 中失败