MySQL errorcode 1005 errno 105

时间:2016-04-18 17:02:12

标签: mysql

我在尝试制作“攻击关系”时遇到错误1005 errno 105表。 ' attack_relationship' table有两个外键用作'参数表中的主键:attackedArgumentIdattackingArgumentId

它还引用了来自" critical_question'的复合外键。表(argumentId, critical_question.id)

critical_question表中的argumentId从参数表中引用attackedArgumentId

如果我删除了'attack_relationship'之间的关系?到' critical_question' &attack;攻击关系'可以创建表而不会出现任何错误。问题是我需要attackedArgumentIdattackingArgumentIdcriticalQuestionId作为attack_reltationship表中的主键。

以下是错误和代码的详细信息:

在服务器中执行SQL脚本 错误:错误1005:无法创建表格' argupedia.attack_relationship' (错误:150)

SQL Code:
        CREATE TABLE IF NOT EXISTS `argupedia`.`attack_relationship` (
          `attackedArgumentId` BIGINT ZEROFILL NOT NULL,
          `attackingArgumentId` BIGINT ZEROFILL NOT NULL,
          `criticalQuestionId` INT NOT NULL,
          `userDefined` TINYINT(1) NOT NULL DEFAULT 0,
          INDEX `fk_attack_relationship_argument1_idx` (`attackedArgumentId` ASC),
          INDEX `fk_attack_relationship_argument2_idx` (`attackingArgumentId` ASC),
          INDEX `fk_attack_relationship_critical_question1_idx` (`attackedArgumentId` ASC, `criticalQuestionId` ASC),
          PRIMARY KEY (`attackedArgumentId`, `attackingArgumentId`, `criticalQuestionId`),
          CONSTRAINT `fk_attack_relationship_argument1`
            FOREIGN KEY (`attackedArgumentId`)
            REFERENCES `argupedia`.`argument` (`id`)
            ON DELETE CASCADE
            ON UPDATE CASCADE,
          CONSTRAINT `fk_attack_relationship_argument2`
            FOREIGN KEY (`attackingArgumentId`)
            REFERENCES `argupedia`.`argument` (`id`)
            ON DELETE CASCADE
            ON UPDATE CASCADE,
          CONSTRAINT `fk_attack_relationship_critical_question1`
            FOREIGN KEY (`criticalQuestionId` , `attackedArgumentId`)
            REFERENCES `argupedia`.`critical_question` (`id` , `argumentId`)
            ON DELETE CASCADE
            ON UPDATE CASCADE)
        ENGINE = InnoDB

SQL脚本执行完成:语句:10个成功,1个失败

以最终形式获取视图定义。 无需提取

1 个答案:

答案 0 :(得分:0)

使用SHOW ENGINE INNODB STATUS找出约束失败的确切原因