使用“加载数据本地Infile”从csv导入到mysql时截断的DateTime列

时间:2011-11-13 13:57:41

标签: mysql datetime

我正在尝试将CS​​V导入mysql,而我的DateTime列无法成功导入。我在此发现了一些其他帖子,但其他帖子也是:

这就是我正在做的事情:

Cmd.exe: echo "1","2011-11-08 17:33:33" > foo.csv

Mysql:

CREATE TABLE `foo` (SomeId INT, SomeDateTime DATETIME);

LOAD DATA LOCAL INFILE "c:\\tmp\\foo.csv"
INTO TABLE `foo`
FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\n'

导入行,但使用0000-00-00 00:00:00而不是我输入的日期。有没有办法使用内置LOAD DATA命令解决这个问题 - 而无需创建插入数据的脚本?

2 个答案:

答案 0 :(得分:1)

请注意,在CSV文件中,您必须指定DATETIME列LIKE'2012-01-01 8:00:00' 试试这个: LOAD DATA INFILE'E:/ c:\ tmp \ foo.csv'INTO TABLE foo FIELDS 终止'''''''''''''''''''''''''''''''''''''''' (
  SomeId,   SomeDateTime );

答案 1 :(得分:0)

我在导入时遇到了几个由额外空格引起的问题。 我的文件实际上由“,”(逗号+空格)分隔 - 而不是“,” - 并且行被\r\n而不是\n终止。