写完之前百万数据导入的总结后,最近还真经常遇到需要把百万数据导入MySQL,就用最快的Load Data Infile这个方法导入,但是今天遇到了要导入的数据里面含有日期类型,如果还是按之前写法导入就出现了如下异常的日期格式👇:
这是怎么回事呢?掌柜再次翻阅全网,发现造成这样的原因有很多,其中主要原因是因为插入的数据不合规。比如插入数据长度超出该字段的设置值、无效字符、插入数据的格式不对等。后来掌柜经过一番排查后发现,我这里出错的原因是因为插入的格式不符合MySQL默认的日期格式导致的。
那么解决的办法就有了,就是使用LOAD DATA INFILE导入数据的时候设置要导入的变量,用DATE_FORMAT函数来指定时间格式如下:
然后再次查询可以发现,日期列都正确了:
可以跟要之前要导入的表格比较,日期数据是一样的!