目标表有一个名为 updated
的列,设置为:
Name: updated
Type: timestamp
Attributes: on update CURRENT_TIMESTAMP
Null: No
Default: CURRENT_TIMESTAMP
Extra: ON UPDATE CURRENT_TIMESTAMP
源数据位于 CSV 中,其中每行的 updated
字段均为空白,例如
id,item_name,updated,quantity
1,car,,4
2,truck,,5
3,chair,,5
使用 PHPMyAdmin 导入后,我希望看到 updated
列填充执行导入时的当前日期/时间,但是,我得到了所有 0000-00-00 00: 00:00 改为
。
MySQL 版本:5.5.30。这个结果与MyISAM和InnoDB相同。
最佳答案
这是因为提供了该字段。它以空字符串形式提供,这与 NULL
或默认值不同。
当转换为数值时,空字符串将被转换为0
。格式化为日期的时间戳 0
为 0000-00-00 00:00:00
。
您可以在导入后运行 UPDATE table SET Updated=NOW()
(如果您始终导入完整的集合),也可以从 CSV 中删除整个列。
关于mysql - 通过 PHPMyAdmin 导入 CSV,空白时间戳结果为 0000-00-00 00 :00:00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18487853/