Can‘t write; duplicate key in table ‘qrtz_triggers‘

创建quartz定时器的时候,出现了 Can’t write; duplicate key in table ‘qrtz_triggers’ 错误。原因是,基于下面方式创建的表结构,两个key的名字冲突导致的。解决办法是,把外键重命名即可。

加入外键别名即可。“constraint FK_QRTZ_TRIGGERS”  foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group)
以下为报错的sql:
create table QRTZ_TRIGGERS (
    sched_name           varchar(120)    not null            comment '调度名称',
    trigger_name         varchar(200)    not null            comment '触发器的名字',
    trigger_group        varchar(200)    not null            comment '触发器所属组的名字',
    job_name             varchar(200)    not null            comment 'qrtz_job_details表job_name的外键',
    job_group            varchar(200)    not null            comment 'qrtz_job_details表job_group的外键',
    description          varchar(250)    null                comment '相关介绍',
    next_fire_time       bigint(13)      null                comment '上一次触发时间(毫秒)',
    prev_fire_time       bigint(13)      null                comment '下一次触发时间(默认为-1表示不触发)',
    priority             integer         null                comment '优先级',
    trigger_state        varchar(16)     not null            comment '触发器状态',
    trigger_type         varchar(8)      not null            comment '触发器的类型',
    start_time           bigint(13)      not null            comment '开始时间',
    end_time             bigint(13)      null                comment '结束时间',
    calendar_name        varchar(200)    null                comment '日程表名称',
    misfire_instr        smallint(2)     null                comment '补偿执行的策略',
    job_data             blob            null                comment '存放持久化job对象',
    primary key (sched_name, trigger_name, trigger_group),
    foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group)
) engine=innodb comment = '触发器详细信息表';
上一篇:微信小程序全局变量globalData


下一篇:从零设计开发快递自动填写收发货地址功能