使用指定csv导入MySql生成数据表之【时间戳存储格式问题】

具体情况是这样的,我在完成一个大作业,这个大作业要求比较严格,其中的一个要求是

使用指定的 csv 导入到数据库并生成要求的数据表,

如下:

这是指定的 xxx.csv:

批注 2020-04-11 221041.png

要求生成的数据表中 time 的格式为:

字段类型为 Date,格式为 ISO 8601 标准
示例:2019-09-08T08:02:17+08:00

我试过将time设置为date,datetime,timestamp都不能成功,最后只有将time设置为varchar,但是这样不符合题意,所以想请问一下如何能将time设置为指定格式呢?

阅读 4.4k
1 个回答

按照评论中大佬的提点,为了自定义格式转换,需要使用 load data infile 进行导入而不是用导入向导,具体如下:

load data local infile "E:/xxx.csv"
into table 表名
character set utf8
fields terminated by ','
optionally enclosed by ""
escaped by ""
lines terminated by '\r\n'
(xxx1, @time,xxx2,xxx3)
set time = FROM_UNIXTIME(left(@time,10))

这是我找到的几篇有关较好的博客供参考学习:
(1)https://www.cnblogs.com/kumufengchun/p/10365911.html
(2)https://www.cnblogs.com/jukan/p/5180859.html
(3)https://stackoverflow.com/questions/54848688/str-to-date-returns-null
(4)https://www.cnblogs.com/woods1815/p/9780607.html
(5)https://www.cnblogs.com/cymbidium/p/5530469.html

推荐问题
宣传栏