MySQL 错误码: 1067Invalid default value for ‘xxx‘问题解决
声明,此文为转载内容,原作者地址为:https://blog.csdn.net/qq_38974638/article/details/122300538
1.问题描述:
错误码: 1067
Invalid default value for 'gmt_create'
2.问题分析:
1、建表语句里面使用CURRENT_TIMESTAMP作为DATETIME的默认值,在5.6.5之后的版本才能使用CURRENT_TIMESTAMP作为DATETIME的默认值,但是当前MySQL数据库的版本为5.5,CURRENT_TIMESTAMP只能作为TIMESTAMP的默认值。
CREATE TABLE `config_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`gmt_create` datetime not NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime not NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ;
3.问题解决
1)将MySQL数据库版本升级至5.6.5以上即可。(我直接升级将mysql到8.0版本,此问题得到解决)
2)将datetime类型改为timestamp类型即可。
3)去掉DEFAULT CURRENT_TIMESTAMP即可。