为什么 mysql 的 timestamp 字段允许录入 0000-00-00 00:00:00

2018-08-24 14:08:06 +08:00
 xiaoyanbot

3767 次点击
所在节点    MySQL
8 条回复
tedzhou1221
2018-08-24 14:10:15 +08:00
好像可以设置,5.7 版本以上的好像是默认禁止
liprais
2018-08-24 14:42:08 +08:00
mysql 智障呗
zengzizhao
2018-08-24 15:01:54 +08:00
5.7 之前是可以
这有什么奇怪的
owenliang
2018-08-24 17:29:54 +08:00
的确是智障,我这两天 mysql 数据同步 ES,因为这个问题挂逼了。
janxin
2018-08-25 09:40:08 +08:00
mysql 智障的问题多了…
xiaoyanbot
2018-08-26 11:47:33 +08:00
@tedzhou1221 看了,5.7 也可以 0 插入
ERRORatDAY1
2018-09-08 15:00:18 +08:00
set global explicit_defaults_for_timestamp=on;
ERRORatDAY1
2018-09-08 15:09:48 +08:00
@ERRORatDAY1 set global sql_mode='............................,NO_ZERO_DATE';
断开连接,重新进入。或者以上两条变量设置的时候就是 session 级别;
create table t1(shijian timestamp);
insert into table t1 values(0);
ERROR 1292 (22007): Incorrect datetime value: '0' for column 'id' at row 1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482861

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX