ZBLOG

mysql load data 入库后 时间类型数据被转换成0000-00-00

如果在使用MySQL的LOAD DATA命令进行入库时,时间类型数据被转换成了0000-00-00。

这很可能是由于以下原因之一:

  1. 数据文件中的时间格式与MySQL默认的时间格式不匹配。例如,数据文件中的时间格式为“YYYY/MM/DD HH:MM:SS”,而MySQL默认的时间格式为“YYYY-MM-DD HH:MM:SS”。

解决方法:在LOAD DATA命令中指定正确的时间格式,例如:

LOAD DATA INFILE ‘data.txt’ INTO TABLE mytable FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (col1, col2, @mydate) SET mydate = STR_TO_DATE(@mydate, ‘%Y/%m/%d %H:%i:%s’);

  1. 数据文件中的时间数据格式正确,但在表结构中定义的时间类型与数据文件中的时间格式不匹配。

解决方法:在表结构中重新定义时间类型,例如:

ALTER TABLE mytable MODIFY COLUMN mydate DATETIME;

或者,在LOAD DATA命令中使用CAST函数进行转换,例如:

LOAD DATA INFILE ‘data.txt’ INTO TABLE mytable FIELDS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ (col1, col2, @mydate) SET mydate = CAST(@mydate AS DATETIME);

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1798

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?