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无效,能解释下是什么原因导致的吗
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
一、查下MySQL版本号。通常公有云会用最稳定的,而不是最新的版本。
二、极力反对用
TIMESTAMP
类型,除非列是CURRENT_TIMESTAMP
的,而是用BIGINT
或DATETIME
是比较合理的选择。我个人强烈推荐
BIGINT
而不是DATETIME
,理由是:DATETIME
不记录时区,所以切换操作系统的国际化设置可能会有问题;DATETIME
只精确到秒;BIGINT
,可以解决所有的时区问题;BIGINT
可提高时间精度,比如储存以毫秒(微秒,最高到纳秒)为单位的Unix时间戳。极力反对用
CURRENT_TIMESTAMP
的原因是CURRENT_TIMESTAMP
存在2038年问题,那时我们大多数程序员还都没有退休。