相同的建表sql在tidb2.0.6环境可以执行成功,在4.0.0_rc版本执行不成功,报错 timestamp(3) 无效的默认值

CREATE TABLE act_ru_event_subscr_bak (
ID_ varchar(64) NOT NULL,
REV_ int(11) DEFAULT NULL,
EVENT_TYPE_ varchar(255) NOT NULL,
EVENT_NAME_ varchar(255) DEFAULT NULL,
EXECUTION_ID_ varchar(64) DEFAULT NULL,
PROC_INST_ID_ varchar(64) DEFAULT NULL,
ACTIVITY_ID_ varchar(64) DEFAULT NULL,
CONFIGURATION_ varchar(255) DEFAULT NULL,
CREATED_ timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
PROC_DEF_ID_ varchar(64) DEFAULT NULL,
TENANT_ID_ varchar(255) DEFAULT ‘’,
PRIMARY KEY (ID_),
KEY ACT_IDX_EVENT_SUBSCR_CONFIG_ (CONFIGURATION_),
KEY ACT_FK_EVENT_EXEC (EXECUTION_ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

tidb4.0.0_rc版本错误如下:
image

稍等,我们查看下,我在4.0.2版本测试也不行。

用 MySQL 8.0.19 测试了下,也会报同样的错。

试试把 timestamp(3) 换成 timestamp

CREATE TABLE act_ru_event_subscr_bak (
ID_ varchar(64) NOT NULL,
REV_ int(11) DEFAULT NULL,
EVENT_TYPE_ varchar(255) NOT NULL,
EVENT_NAME_ varchar(255) DEFAULT NULL,
EXECUTION_ID_ varchar(64) DEFAULT NULL,
PROC_INST_ID_ varchar(64) DEFAULT NULL,
ACTIVITY_ID_ varchar(64) DEFAULT NULL,
CONFIGURATION_ varchar(255) DEFAULT NULL,
CREATED_ timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PROC_DEF_ID_ varchar(64) DEFAULT NULL,
TENANT_ID_ varchar(255) DEFAULT ‘’,
PRIMARY KEY (ID_),
KEY ACT_IDX_EVENT_SUBSCR_CONFIG_ (CONFIGURATION_),
KEY ACT_FK_EVENT_EXEC (EXECUTION_ID_)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

搞定了,非常感谢

:+1:

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。