所有记录显示为';0000-00-00';,将日期从文件加载到mysql
我有一个CSV文件,其中一列包含下一个数据:所有记录显示为';0000-00-00';,将日期从文件加载到mysql,mysql,Mysql,我有一个CSV文件,其中一列包含下一个数据: "2015-01-01", ... ... "2015-03-27" 我这样创建了mysql表: CREATE TABLE `my_tbl` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` DATE NOT NULL, PRIMARY KEY (`id`) ); 我正在尝试使用下一个命令插入数据: LOAD DATA INFILE '/tmp/myFile.csv' INTO TABLE
"2015-01-01",
...
...
"2015-03-27"
我这样创建了mysql表:
CREATE TABLE `my_tbl` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` DATE NOT NULL, PRIMARY KEY (`id`) );
我正在尝试使用下一个命令插入数据:
LOAD DATA INFILE '/tmp/myFile.csv' INTO TABLE my_tbl FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (@col1) set date=@col1;
问题:检查我的tbl时,我看到所有记录都是“0000-00-00”
[..snip..] BY '\n' (@col1) set date=@co1;
^---------------^
似乎我应该添加由“\”括起的字段。。因此加载查询应该是这样的:
LOAD DATA INFILE '/tmp/myFile.csv' INTO TABLE my_tbl FIELDS ENCLOSED BY '\"' LINES TERMINATED BY '\n' (@col1) set date=@col1;
Tnx for user@Marc B for the hintTnx-Marc。这是我的问题中的一个输入错误。问题仍然是一样的。@MZtry
由''
封装的字段。如果您不告诉mysql,“
不是数据的一部分,它将尝试将”
解析为字段值的一部分,并删除整个日期值-“
”不是mysql日期字符串的一部分。