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即可。

posted @ 2022-10-19 09:34  远道而重任  阅读(496)  评论(0编辑  收藏  举报