阿里云 RDS-MySQL 8.0 日期处理有 BUG

讨论 未结 0 60
szq8014
szq8014 会员 2022年6月20日 02:59 发表
<pre><code class="language-MySQL">CREATE TABLE `xxx` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `expire_time` TIMESTAMP NOT NULL COMMENT '超时时间', PRIMARY KEY (`id`) USING BTREE ) COMMENT='test' COLLATE='utf8mb4_general_ci' ENGINE=InnoDB; /* SQL 错误( 1067 ):Invalid default value for 'expire_time' */ </code></pre> <p>有点奇怪,上面是最小复现的语句,在开源版的 MySQL 8.0 上是没有问题的,开的配置是一样(默认)的,</p> <pre><code>ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION </code></pre> <p>目前来看触发的条件就是前面一句也是一个 TIMESTAMP 且后面修饰不一样就会出现,单独只有 <code>expire_time</code> 是没有问题的。</p> <p>(啊,虽然现在用 timestamp 不太合理,但是我觉得我现在这个项目可能活不到 2038 年</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
0个回复
  • 消灭零回复