外来约束因未知原因而失败

时间:2014-06-06 02:25:11

标签: mysql mysql-workbench

我有一个包含3个字段的表,这些字段引用了3个字段的同一个表。

CONSTRAINT `fk_form_pago_insc`
FOREIGN KEY (`form_pago_insc` , `form_pago_tit` , `form_pago_col`)
REFERENCES `unisis`.`tbl_forma_de_pago` (`id` , `id` , `id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION

这是因为一个字段是存款的付款方式,第二个字段是课程的付款方式,第三个字段是证书的付款方式。

因此,所有三个引用相同的表来进行外部约束。

我无法看到这方面的任何问题,但我无法创建它。我使用MYSQL WORKBENCH来建模整个数据库。如果我尝试为每个人单独制作一个私人,MYSQL WORKBENCH就会关闭我。我使用的是网站上的最新版本。 (6.1.6)

1 个答案:

答案 0 :(得分:3)

您需要三种不同的约束:

CONSTRAINT `fk_form_pago_insc` FOREIGN KEY (`form_pago_insc`)
    REFERENCES `unisis`.`tbl_forma_de_pago` (`id`)
    ON DELETE NO ACTION ON UPDATE NO ACTION;

CONSTRAINT `fk_form_pago_tit` FOREIGN KEY (`form_pago_tit`)
    REFERENCES `unisis`.`tbl_forma_de_pago` (`id`)
    ON DELETE NO ACTION ON UPDATE NO ACTION;

CONSTRAINT `fk_form_pago_col` FOREIGN KEY (`form_pago_col`)
    REFERENCES `unisis`.`tbl_forma_de_pago` (`id`)
    ON DELETE NO ACTION ON UPDATE NO ACTION;