ERROR 1067 (42000): Invalid default value for create_time

赞赏 2016-12-30

想用INNODB的全文索引,所以就升级了数据库到5.7.17。不想添加索引的时候 ,居然报错,如下:ERROR 1067 (42000): Invalid default value for 'create_time'


错误截图如下:


错误解决办法


错误说的是,默认值不合法! 

我的默认值是 '0000-00-00 00:00:00', 没升级之前是合法的,升级之后就不合法了,肯定是参数的设置有区别 

赶紧看看 sql_mode。

果然: NO_ZERO_IN_DATE,NO_ZERO_DATE这两个参数限制时间不能为0.

那就把他改掉吧 

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'


创建成功了!


注意:我们这里设置的sql_mode都是session级别的,断开mysql的连接后,再连接后,就又回到原来的状态了! 

可以直接修改my.cnf文件 

vim /etc/my.cnf 

在[mysqld]下面添加如下列: sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 

这样就永久改变了

登陆后阅读全文
阅读 2767 赞赏 0 有用 5 没用 1 收藏 0 分享

   


作者声明:本篇文章系本人原创,欢迎分享,但未经许可,谢绝转载。

0 条留言

赛蓝翔的头像

赛蓝翔

PHP开发一枚

相关文章

Ubuntu安装MySQL提示Depends: mysql-server-5.5 but it is not going

mysql-bin.00000* 文件误删删除导致mysql启动不起来

Linux screen 提示:There is no screen to be resumed matching

MySQL 上传报错#1064-You have an error in your SQL syntax

Linux 下 MySQL 无法访问的问题如何排查?

Linux下如何授权 MySQL 外网访问?

Linux系统如何查看 MySQL 版本号?

Ubuntu或Debian系统内如何卸载 MySQL 数据库服务?

MySQL误删除授权表 root 记录,无法登陆怎么办?

Linux 系统下 MySQL 如何开启慢查询?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

微信跳一跳刷分攻略

改了php.ini中的open_basedir仍报错open_basedir restriction in effect

推荐 | PHP WEB消息推送框架 web-msg-sender (PHPSocket.IO)

如何准确判断请求是不是搜索引擎爬虫(蜘蛛)发出的请求?(php window linux)

PHP Warning: feof() expects parameter 1 to be resource, null

php Warning: A non-numeric value encountered in

原来这条命令可以让我们快速找到php.ini的位置

换成https后,网站还是没有安全标志或安全小锁?

在百度站长平台如何将http换成https

php file_get_contents() 如何伪造发送 referer?

手机扫一扫
分享文章