首页 > 数据库 >MySQL 错误码: 1067Invalid default value for ‘xxx‘问题解决

MySQL 错误码: 1067Invalid default value for ‘xxx‘问题解决

时间:2022-10-19 09:44:06浏览次数:42  
标签:default TIMESTAMP xxx 错误码 CURRENT MySQL 默认值 id

声明,此文为转载内容,原作者地址为: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即可。

标签:default,TIMESTAMP,xxx,错误码,CURRENT,MySQL,默认值,id
From: https://www.cnblogs.com/rong-xu-drum/p/16805109.html

相关文章