MySQL timestamp的默认值怎么设置?

目前有三种思路:

  1. 使用最小时间:1970-01-01 08:00:01,范围是1970-01-01 08:00:01 ~ 2038-01-19 11:14:07(时区)参考

  2. 使用当前时间,CURRENT_TIMESTAMP

  3. 使用0000-00-00 00:00:00,实际效果等同于第一种,看起来要清晰点,但是貌似兼容性不好,在MySQL5.7不可用,Mariadb5.6版本貌似是可以的。

大家一般是用的哪种?第二种会不会有效率问题?请教大家,谢谢!

===== 补充下 =====

另外时间范围会不会太小了,2038年就不能用了...大家应该还记得千年虫吧...

感觉直接使用时间戳得了...

阅读 40.4k
4 个回答

2038还很远。。。

目前使用的方案是insert列用CURRENT_TIMESTAMP

如果时间短那就使用datetime呗.我司目前用的是默认null

receive_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 一直用的这种

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏