DROP TABLE IF EXISTS qrtz_simprop_triggers
CREATE TABLE qrtz_simprop_triggers (
sched_name varchar(120) NOT NULL COMMENT '调度名称',
trigger_name varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键',
trigger_group varchar(200) NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键',
str_prop_1 varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第一个参数',
str_prop_2 varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第二个参数',
str_prop_3 varchar(512) DEFAULT NULL COMMENT 'String类型的trigger的第三个参数',
int_prop_1 int(11) DEFAULT NULL COMMENT 'int类型的trigger的第一个参数',
int_prop_2 int(11) DEFAULT NULL COMMENT 'int类型的trigger的第二个参数',
long_prop_1 bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第一个参数',
long_prop_2 bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第二个参数',
dec_prop_1 decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数',
dec_prop_2 decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数',
bool_prop_1 varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数',
bool_prop_2 varchar(1) DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数',
PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`),
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='同步机制的行锁表';
SQL 错误 [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE qrtz_simprop_triggers (
sched_name varchar(120) NOT NULL COMMENT' at line 3;
根据报错提示,查看near附近是否有符号错误,检查好几遍也没看出来,以为是``符号不对。
测试执行了几遍才发现,单独执行创建表语句时不会报错,判断问题出现在DROP TABLE IF EXISTS语句。因为这个语句是从数据库里面导出的DDL,以为语法不会报错。问题在于DROP TABLE IF EXISTS qrtz_simprop_triggers这句话,后面少了个分号;。加分号执行成功。
DROP TABLE IF EXISTS qrtz_simprop_triggers;