连接丢失后重复密钥问题,即使您不存在约束

时间:2017-12-13 15:39:59

标签: mysql mariadb

我正在laravel上为我的所有数据库(几个客户端)进行迁移。所有DB都是相同的结构,其中一个在完成之前丢失连接并失败。我试图再次迁移,我遇到了一个重复的外键问题。

查看约束

SELECT * FROM information_schema.KEY_COLUMN_USAGE ke where  constraint_name = 'rt_eqmtfixedcycle_excav_id_foreign'

SQL result for schema 所有其他数据库都成功插入了“rt_eqmtfixedcycle_excav_id_foreign”键。但是没有出现'smv_Forestalleonera'数据库失败的那个,但是。

如果我再次尝试插入:

use smv_forestalleonera;


alter table `rt_eqmtfixedcycle` add constraint `rt_eqmtfixedcycle_excav_id_foreign`  foreign key (`excav_id`)  references `rt_truck` (`id`) on delete restrict on update cascade

我收到以下错误:

12:33:45    alter table `rt_eqmtfixedcycle` 
 add constraint `rt_eqmtfixedcycle_excav_id_foreign` 
 foreign key (`excav_id`) 
 references `rt_truck` (`id`) 
 on delete restrict 
 on update cascade  Error Code: 1005. Can't create table `smv_forestalleonera`.`#sql-7f4d_a8f7` (errno: 121 "Duplicate key on write or update") 0.234 sec

我正在使用MariaDB 10.2.7。 我已经删除了表并重新启动了引擎而没有任何结果。

(来自评论)

CREATE TABLE rt_eqmtfixedcycle (
    id smallint(5) unsigned NOT NULL, 
    excav_id smallint(5) unsigned DEFAULT NULL, 
    locload_id int(10) unsigned DEFAULT NULL, 
    locdump_id int(10) unsigned DEFAULT NULL, 
    updated_at datetime DEFAULT NULL, 
    updated_by int(10) unsigned DEFAULT NULL, 
    KEY rt_eqmtfixedcycle_id_foreign (id), 
    CONSTRAINT rt_eqmtfixedcycle_id_foreign
        FOREIGN KEY (id) REFERENCES rt_truck (id) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

0 个答案:

没有答案