MySql Workbench csv将Datetime DATATYPE导入为TEXT

时间:2017-02-19 05:53:09

标签: mysql csv datetime type-conversion

尝试使用mysql Workbench 0x4000将数据从csv导入Mysql数据库。 csv包含格式为dd / mm / yyyy hh:mm:ss的数据时间字段(例如,28/01/2017 10:55:00 PM)。 如果我使用默认设置,workbench会将datetime视为“TEXT”数据类型并成功导入数据。但是,如果我将数据类型更改为“DATETIME”,则导入将以'0条记录导入'完成。

2 个答案:

答案 0 :(得分:1)

mysql数据库的日期时间格式为YYYY-MM-DD HH:MM:SS ... 查看文档here。 希望这会有所帮助.....

答案 1 :(得分:0)

dd/mm/yyyy格式的日期不是标准日期,因此MySQL将其视为文本。并且强制它加载像datetime这样的数据也是错误的。

此问题非常适合LOAD DATA以及STR_TO_DATE()函数将日期字符串转换为正确的日期:

LOAD DATA INFILE 'input.csv'
INTO TABLE t1
FIELDS TERMINATED BY ',' 
(column1, @var1, column3, ...)
SET column2 = STR_TO_DATE(@var1,'%d/%m/%Y %h:%i:%s %p')

如果CSV文件中的第二列包含日期数据,则上述LOAD DATA将是合适的。如果没有,那么只需重新排列它,以便解析正确的列。