我目前有大量 CSV 文件要导入 MySQL 数据库。这些文件包含每条记录的时间戳,格式如下(例如):
2011-10-13 09:36:02.297000000
我知道 MySQL 错误 #8523,它表示不支持在日期时间字段中存储毫秒。尽管如此,我还是希望 datetime 字段在几秒钟后截断记录,而不是输入为空白。
我已将问题缩小到毫秒(而不是 csv 等的格式),因为
2011-10-13 09:36:02
正确导入。
任何人都可以提出一种方法,让我可以在不使用零的情况下导入这些数据吗?我有太多 CSV 无法手动进入每个并调整时间戳的长度/格式。
我应该指出,虽然毫秒是一个不错的选择,但它们对我的应用程序来说不是必需的,所以我很高兴有一个解决方案可以让我轻松截断数字并导入它们。
谢谢!
编辑:为了澄清,我正在使用以下命令导入 CSV:
mysqlimport --fields-enclosed-by="" --fields-terminated-by="," --lines-terminated-by="\n" --columns=id,@x,Pair,Time -p --local gain [file].csv
这对于导入记录来说非常快——我有大约 50m 的空间要导入,因此读取每一行并不是一个好的选择。