mysql - 通过 PHPMyAdmin 导入 CSV,空白时间戳结果为 0000-00-00 00 :00:00

标签 mysql datetime phpmyadmin timestamp

目标表有一个名为 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。格式化为日期的时间戳 00000-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/

相关文章:

mysql - 连接mySQL中两个连接的结果

javascript - 创建 javascript 日期 UTC

mysql - 为什么我在一种情况下进行了全表扫描,而在另一种情况下却没有?

mysql - 您如何知道在哪个程序中使用哪个 mySQL 代码?

php - 为什么phpmyadmin突然加载不出来

html - 将节点导出到新的 drupal 实例

mysql - 为什么 MySQL 查询使用连接缓冲区?

php - 在 PHP 中将周名称与周天匹配

php - 超过 100 万条记录的表的 SQL 查询被服务器中断?

mysql - 在 rails 中向 mysql 插入 100000 多条记录的最快方法