之前没太注意timestamp这个数据类型,有个坑就是在默认值上,MySql-5.6.6弃用了explicit_defaults_for_timestamp这个系统变量。我的版本却高于5.6.6,所以就掉进去了,囧。 如果你的mysql版本高于5.6.6,在创建下表时,报ERROR 1067 (42000): Invalid default value for 'ctime' create table mytime ( id int, atime timestamp not null, ctime timestamp not null ); 那么恭喜中枪了! 看看mysql官网上的官网解释吧:
timestamp.png
从图中可以看出来,explicit_default_for_timestamp是解决这个问题的关键点。
在my.cnf中添加或修改explicit_defaults_for_timestamp=true 注:修改时不一定在my.cnf中,而是在my.cnf中指定的文件中,我的是写在指定的子文件中的,一开始修改时也挺蒙圈的,附一段内容,方便查找修改。 |
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....