2012-03-18 106 views
0

我正在嘗試創建表格,並遇到一些麻煩。外鍵問題

我有兩個表名爲PayOwed 所以我有以下的主鍵

CONSTRAINT pk_columns PRIMARY KEY (nameofClient, amounttoPay); 

欠下表的表收費與外鍵:

CONSTRAINT en_submission2 FOREIGN KEY (nameofClient, amounttoPay) REFERENCES Pay (nameofClient, amounttoPay); 

因此,在本質是什麼我想問的是如何將外鍵添加到主鍵爲複合的另一個表中的表中?我的語法錯了嗎?我需要改變什麼?

感謝

+0

什麼不起作用?你是否收到任何錯誤訊息?並歡迎來到stackoverflow:http://stackoverflow.com/faq – 2012-03-18 19:22:26

+0

是的,我收到一條錯誤消息。它說不能添加或更新子行的子行。謝謝 – Ester 2012-03-18 19:29:45

+0

你可以有複合PK和FKs。 – 2012-03-18 20:39:39

回答

0

首先,我建議一些架構更改拉客戶到自己的表,併爲您的鑰匙使用ID字段(是一個客戶欠真正獨特的量?)。所以,你必須是這樣的: 客戶 - ID(INT,不爲空,PK) - 名稱

收費 - ID(INT,不爲空,PK) - 客戶端Id(FK到Client.Id) - AmountToPay

欠 - ID(INT,不爲空,PK) - PayId(FK到Pay.Id) - AmountToPay