本地库执行开发库的创建表脚本,报错Invalid default value for 'create_time',本以为是sql_mode设置的问题,按照开发库设置了一遍还是报错,最后查了下才想到可能是版本的问题,本地数据库版本号5.5,开发库是5.7,而使用current_timestamp作为datetime的默认值,只有在5.6之后的版本才支持。坑的一笔,有时候问题可能是一个很简单的原因,但往往一开始就想得复杂了,引以为鉴。
CREATE TABLE `sys_test` (
`id` varchar(32) NOT NULL COMMENT '主键',
`create_by` varchar(32) NOT NULL COMMENT '创建人',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='测试表';