mysql创建表时 [Err] 1067 - Invalid default value for 'modify_time'

原sql语句:

CREATE TABLE `user_voucher_refund_log` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `up_number` mediumint(8) DEFAULT NULL COMMENT '上传条数',
  `updata_number` mediumint(8) DEFAULT NULL COMMENT '执行成功条数',
  `modify_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `admin_id` mediumint(8) DEFAULT NULL COMMENT '操作人',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='代金券退券记录';

报错内容:

mysql创建表时 [Err] 1067 - Invalid default value for 'modify_time'_第1张图片 标题

 

mysql升级到5.7而引起的默认值不兼容的问题。类型是datetime,默认值被限制,在严格模式,不要将 ‘0000-00-00’做为合法日期。在非严格模式,可以接受该日期,但会生成警告。换成timestamp 后可以使用。

修改后的sql:

CREATE TABLE `user_voucher_refund_log` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `up_number` mediumint(8) DEFAULT NULL COMMENT '上传条数',
  `updata_number` mediumint(8) DEFAULT NULL COMMENT '执行成功条数',
  `modify_time` timestamp DEFAULT CURRENT_TIMESTAMP,
  `admin_id` mediumint(8) DEFAULT NULL COMMENT '操作人',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='代金券退券记录';

 

你可能感兴趣的:(数据库)