2018-01-09  2,296 views 评论

MYSQL 5.7 Incorrect datetime value: ‘0000-00-00 00:00:00’ for column 的异常处理 Linux CentOS 7

项目数据库从一个服务器移至另一台测试服务器运行脚本时报如下错误:

服务器环境: CentOS 7

数据库版本:MySQL

执行语句:

INSERT INTO `Account` VALUES ('7', '0', '10006', '', '1', '0', '2017-11-20 17:13:04', '0', '0000-00-00 00:00:00', '0', '0', '0', '');

数据结构:

CREATE TABLE `Account` (
  `Account_Id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '内部编码',
  `AccountType_Id` bigint(20) NOT NULL DEFAULT '0' COMMENT '账号类型',
  `NickName` varchar(32) NOT NULL DEFAULT '' COMMENT '昵称 自动生成一个',
  `Avatar` varchar(256) NOT NULL DEFAULT '' COMMENT '头像',
  `DataFlag` int(11) NOT NULL DEFAULT '1' COMMENT '数据状态',
  `CreateUID` bigint(20) NOT NULL DEFAULT '1' COMMENT '创建人ID',
  `CreateTime` datetime NOT NULL DEFAULT current_timestamp() COMMENT '创建时间' ,
  `UpdateUID` bigint(20) NOT NULL DEFAULT '1' COMMENT '修改人ID',
  `UpdateTime` datetime NOT NULL  DEFAULT current_timestamp()  COMMENT '修改时间',
  `IsDel` int(11) NOT NULL DEFAULT '0' COMMENT '是否删除',
  `MailBind` int(11) NOT NULL DEFAULT '0',
  `PhoneBind` int(11) NOT NULL DEFAULT '0',
  `Account_GUID` varchar(64) NOT NULL DEFAULT '',
  PRIMARY KEY (`Account_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=45 COMMENT='账号 Account';

异常信息:Incorrect datetime value: '0000-00-00 00:00:00' for column 的处理

处理方案:

1、登录服务器

2、关闭mysql服务

service mysqld stop

3、进入etc目录编辑my.cnf

cd ../etc/
ls
vim my.cnf

一定要确保进入到etc目录

4、修改或新增sql_mode属性为‘MYSQL40’

进入vim my.cnf后按下“I”键进入编辑状态

修改完成按“ESC” 随后输入“ :wq! ” 表示写入并退出

5、重启服务

service mysqld start

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: