mysql日期问题

新手上路,请多包涵

ALTER TABLE STATS_ITEM_201706 MODIFY COLUMN STATSDATE TIMESTAMP (6) NOT NULL DEFAULT '0000-00-00 00:00:00.000000';
我在本地mysql数据库上执行上面sql语句的时候不报错,但在ucloud mysql上执行的时候就报statsdate无效,能解释下是什么原因导致的吗

阅读 2.2k
1 个回答

一、查下MySQL版本号。通常公有云会用最稳定的,而不是最新的版本。

二、极力反对用TIMESTAMP类型,除非列是CURRENT_TIMESTAMP的,而是用BIGINTDATETIME是比较合理的选择。

我个人强烈推荐BIGINT而不是DATETIME,理由是:

  1. DATETIME不记录时区,所以切换操作系统的国际化设置可能会有问题;
  2. DATETIME只精确到秒;
  3. 把当前时间转换为Unix时间戳,并存储为BIGINT,可以解决所有的时区问题;
  4. BIGINT可提高时间精度,比如储存以毫秒(微秒,最高到纳秒)为单位的Unix时间戳。

极力反对用CURRENT_TIMESTAMP的原因是CURRENT_TIMESTAMP存在2038年问题,那时我们大多数程序员还都没有退休。

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