【MySQL】1067 – Invalid default value for ‘indb_time’

xixuefeng MySQL 2018-04-13 8:57:16 174 次浏览 【MySQL】1067 – Invalid default value for ‘indb_time’已关闭评论

场景描述:

MySQL 5.7 给t表增加一个字段(利用Navicat工具进行操作),提示[1067 – Invalid default value for ‘indb_time’]错误。

操作过程:

首先通过图形化页面添加字段后,点击保存,提示[1067 – Invalid default value for ‘indb_time’]错误

遇到这个错误,网上好多解释是因为sql_mode 中的 values 包含 NO_ZERO_IN_DATE,NO_ZERO_DATE ,去除即可。

很遗憾,我的数据库中sql_mode参数压根就没有这两个值。

然后我将图形化工具生成的SQL,在命令行中执行,如下:

还是报同样错误。

仔细观察会发现,增加的字段indb_time的数据类型timestamp后面竟然有个255,原因是,图形化工具在你写字段名称时自动给默认了个数据类型,导致有了大小。

那么知道问题所在了,解决起来就容易了,只要把255去掉就可以了。

 

回顶部