问题描述:

        错误码: 1067
        Invalid default value for 'gmt_create'

问题分析:

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`)
) ;

解决办法:

        (1)将MySQL数据库版本升级至5.6.5以上即可。

        (2)将datetime类型改为timestamp类型即可。

        (3)去掉DEFAULT CURRENT_TIMESTAMP即可。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐