回答
这是timestamp柱类型的默认功能。但是,请注意,此类型的格式为yyyymmddhhmmss(全数字,无冒号或其他分隔)。
编辑:以上关于格式的注释是唯一真正的MySQL < 4.1版本......后来的版本格式化它像一个日期时间
IIRC,在timestamp类型的表中的第一列在创建记录时不可更改时设置。类型时间戳的第二列在记录更新时设置。或相反亦然。
我没有做太多的MySQL工作,所以你要验证这一点。
您可以像提到的其他海报一样使用时间戳列。下面是SQL你可以用它来在添加列:
ALTER TABLE `table1` ADD `lastUpdated` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
这增加了一个名为“LASTUPDATED”与当前的日期/时间的默认值列。当记录更新时(可以说5分钟后)时间戳会自动更新到当前时间。
以下看起来已足够: ALTER TABLE`table1` ADD`lastUpdated` TIMESTAMP; – 2008-10-02 14:44:14
MySQL时间戳只有在其默认值被设置为创建或更新时间时才会设置。 ALTER TABLE some_table ADD when TIMESTAMP DEFAULT CURRENT_TIMESTAMP
。
否则它就像DateTime字段一样工作,只是它相对于1970/01/01 UTC,所以它是绝对时间点,不像DateTime那样依赖于特定的时区。
这是我所观察到的东西(的MySQL 5.7.11) -
在表中的第一个TIMESTAMP列获取当前时间戳作为缺省值。因此,如果您在不提供值的情况下执行INSERT或UPDATE,则该列将获取当前时间戳。
任何后续的TIMESTAMP列都应该有明确定义的默认值。如果您有两个TIMESTAMP列,并且您没有为第二列指定默认值,则在尝试创建表格时会出现此错误 -
错误1067(42000):'COLUMN_NAME'的默认值无效
- 1. MySQL时间戳
- 2. MySQL的时间戳.NET时间戳
- 3. 将此时间戳插入到MySQL时间戳列
- 4. mysql - 将datetime列转换为时间戳
- 5. Mysql时间戳列数据被截断
- 6. MySQL的 - 时间戳列不更新
- 7. 错误在时间戳列mysql
- 8. Mysql的多个时间戳列更新
- 9. MySQL的合并两列到时间戳
- 10. Mysql的总和两列的时间戳
- 11. 用SqlAlchemy插入MySQL时间戳列值
- 12. 时间戳/时区/ PHP/MySQL
- 13. php时间戳之间的区别?或MySQL的时间戳?
- 14. sqlite3时间戳列
- 15. 从时间戳列
- 16. 散列时间戳
- 17. 时间戳阵列
- 18. mysql:更新时间戳,如果时间戳超过10小时
- 19. MYSQL:转换时间戳 - >时间
- 20. mysql时间戳或日期时间
- 21. MySQL表修改时间戳
- 22. Mysql时间戳查询
- 23. mysql tunning时间戳性能?
- 24. MYSQL时间戳转换
- 25. MySQL的多个时间戳
- 26. UNIX时间戳和MYSQL
- 27. mysql按时间戳搜索
- 28. MySQL - 保存JSON时间戳
- 29. MySQL的时间戳问题
- 30. mysql php时间戳查询
根据MySQL 5.0文档,时间戳类型与日期时间格式相同(例如'YYYY-MM-DD HH:MM:SS')。 – 2008-09-30 20:58:41