初始化数据时,需要向数据库导入一些数据,遇到这个问题,在网上查了半天,没找到一个系统的解决办法,特此记录。
excel中原始数据是这样子的
关注三个字段:格式分别为文本、日期、日期
相应的数据库中数据类型如下:
第一次尝试:
此时直接上传,不好意思,navicat直接闪退了!
闪退原因网上查了下,大致是说mysql识别excel中的日期,在进行转化时出了问题等等。具体怎么回事不清楚,改就是了!
于是使用TEXT函数进行修改,错误的尝试略过:
=TEXT(G2,"yyyy/mm/dd hh:mm:ss")
复制粘贴保留文本,替换掉原数据中的两列日期(修改原数据前,建议先备份,养成好习惯)
处理完是这个样子的:
这时不要急着导入,修改数据库字段类型,改为varchar
第二次尝试:
日期没问题了!但是attachment_id全部带个".0"。。。。。。
小问题!同样使用TEXT函数,将这些被navicat看做数值的数据,强制转为文本就好了
=TEXT(D2,"0")
然后复制粘贴去除公式,再选中这一列,格式设置为“”文本“,”就会变成这样子了:
左上角的小绿点标识,就是文本标识
第三次尝试:
导入数据没问题了!
但是不要忘记最重要的一步,将数据库中的数据类型,再改回datetime!
搞定收工,留做记录。