首页 > 数据库技术 > 详细

mysql5.7 版本 timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',报错

时间:2021-04-16 21:25:51      阅读:40      评论:0      收藏:0      [点我收藏+]

mysql5.7

运行sql脚本时报错

技术分享图片
技术分享图片
1 [Err] 1067 - Invalid default value for ‘UPDATE_TIME‘
2 [Err] CREATE TABLE `V_TBL_AMOUNT_REASON` (
3   `ID` int(11) NOT NULL AUTO_INCREMENT,
4   `AMOUNT_CODE` varchar(10) NOT NULL,
5   `AMOUNT_VALUE` varchar(255) NOT NULL,
6   `UPDATE_TIME` timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00‘ ON UPDATE CURRENT_TIMESTAMP,
7   PRIMARY KEY (`ID`)
8 ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
技术分享图片
技术分享图片

这个问题和mysql中sql_mode有关系,我们可以采用两种方法来查看它的值

方法一:

SHOW VARIABLES LIKE ‘sql_mode%‘;

查询得到入下信息

技术分享图片

 方法二:

SELECT @@sql_mode;

 

技术分享图片

 

解决办法

修改mysql配置文件(修改完重启服务)

win下修改my.ini

 

sql_mode=‘STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘
#sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘

 

linux

在my.cnf[mysqld]下添加

sql-mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION  
分类: mysql
好文要顶 关注我 收藏该文 技术分享图片 技术分享图片
0
0
 
? 上一篇: ab 测压可以检测对应接口能够承载多少用户量
? 下一篇: mysql 原生语句limit 分页
 
 
 

mysql5.7 版本 timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',报错

原文:https://www.cnblogs.com/seasonzone/p/14667396.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!