尝试使用mysql工作台Table Data Import Wizard
将数据从csv导入到Mysql数据库。 csv包含格式为dd/mm/yyyy hh:mm:ss的数据时间字段(例如,28/01/2017 10:55:00 PM)。 如果我按默认设置转到,工作台将日期时间视为“TEXT”数据类型并成功导入数据。但是,如果我将数据类型更改为'DATETIME',则导入将以'0记录导入'结束。MySql Workbench csv将日期时间DATATYPE导入为TEXT
1
A
回答
1
MySQL数据库的日期时间格式是YYYY-MM-DD HH:MM:SS ... 请查看下面的文档。 希望这有助于..... https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjIyOHXvJvSAhWGtY8KHcsSB8MQFggdMAE&url=https%3A%2F%2Fdev.mysql.com%2Fdoc%2Fen%2Fdatetime.html&usg=AFQjCNGc5DXXoRcxKpV46ARaMvjZVVL4ZA&sig2=kBy0FVFl_4feRkkfiPyoeg
0
日期格式dd/mm/yyyy
不是标准,因此MySQL是把它当作文本。并迫使它加载日期时间这样的数据也是错误的。
这个问题是与STR_TO_DATE()
函数的日期字符串转换成合适的日期以及适合于LOAD DATA
:
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
将是适当的。如果不是,那么只需重新排列它,以便正确的列被解析。