考虑一个存储SSN和DOB的表。
CREATE TABLE fbi
(
ssn BIGINT,
dob DATE
)
数据已加载到表格中:
LOAD DATA LOCAL INFILE C:\test.csv
INTO TABLE fbi
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
SELECT * FROM fbi;
显示DOB的空值。我不明白这个错误。
"ssn","dob"
5,"1952-11-15"
6,"1973-12-23"
6,"1951-12-23"
1,"1962-03-21"
答案 0 :(得分:3)
它很可能与您的csv文件中的日期格式有关。 MySQL喜欢yyyy-mm-dd
格式的日期。例如2010-10-09
。您可以通过在导入后立即在MySQL命令控制台中发出以下命令来获取更多信息:
show warnings;
更新:
我看到你的日期字段被引用了。如果您有引用日期,则需要通过向导入命令添加OPTIONALLY ENCLOSED BY '"'
来告诉MySQL(请参阅LOAD DATA INFILE的MySQL手册)。试试这个:
LOAD DATA LOCAL INFILE C:\test.csv
INTO TABLE fbi
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
顺便说一句:我希望你发布的那些SSN是以某种不可恢复的方式伪造或破坏的。