2014-06-06 73 views
0

我有一個表有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)

回答

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;