【发布时间】:2024-01-18 17:23:01
【问题描述】:
我在 MySQL 中有一个表,我正在从 csv 文件向它添加数据
我的代码是:
LOAD DATA LOCAL INFILE 'C:/myaddress/file.csv'
INTO TABLE db.mytable
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(`Currency`,`field2`,`field3`)
除了我添加的第一行之外,这加载正常。
我正在添加一个USD,但是当我进行查询时,它会将其导入为USD。
这只发生在第一行。有人知道为什么会这样吗?
解决方案: 这是一个编码问题,所以要解决它,这里有两个选项
1.- 对文件进行不同的编码
2.- 添加一个虚拟行并使用IGNORE 1 LINES
【问题讨论】:
-
在 'field3.您的 sql 脚本中是否也缺少它?也许它会超出您的第一行数据。
-
好的。你更新了。
LOAD DATA INFILE '/blah/blah/file.csv' INTO TABLE test IGNORE 1 LINES;.... 将其保存在您的武器库中。是第一行column info(我相信你会说不)。不看你的 csv 就很难判断 -
我的文件中没有标题。我添加了一个标题行并使用了忽略。我现在真的工作了。诡异的。谢谢
-
是的,我说是的,所以我的字数是允许的