您当前的位置: 首页 >  docker

qq_34412985

暂无认证

  • 2浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

docker中mysql5.7的区分大小写和timestamp默认值报错

qq_34412985 发布时间:2019-09-17 09:36:35 ,浏览量:2

vim  /etc/mysql/mysql.conf.d/mysqld.cnf

设置mysql5.7不区分大小写,在[mysqld]下添加一行 

lower_case_table_names=1 ##0区分大小写,1不区分大小写

mysql5.7timestamp的DEFAULT默认值为 '0000-00-00 00:00:00'报错

ERROR 1067 (42000): Invalid default value for 'create_time'

解决方案(一):

1、使用root登陆数据库 命令界面执行

select @@sql_mode;
返回

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2、继续执行
SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
3、重新建表

原因:

NO_ZERO_IN_DATE,NO_ZERO_DATE是无法默认为‘0000-00-00 00:00:00’的根源。

NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零 

NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。

解决方案(二):在配置文件[mysqld]下添加一行

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后重启容器即可

 

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0399s