我有一个包含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)
答案 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;