2011-04-12 120 views
2

我有兩個表TableA和TableB。現在TableA有2列:ID &名稱,TableB有3列:ID,名稱,& TableAID。現在有一個來自TableA.ID = TableB.TableAID的外鍵約束。我需要能夠允許TableB.TableAID使用TableA.ID或TableB.ID中的值,因此單個列上有多個外鍵約束,我需要它來允許或者。謝謝!SQL Server 2008中單個列上的多個外鍵約束

+0

您可以在TableB.TableAID中使用NULL作爲您應該使用TableB.ID的指示嗎?這意味着你想要粘在那裏的TableB.ID將會是已經在記錄中的那個,這可能不是這種情況。 – DKnight 2011-04-12 15:02:42

回答

5

這是一個壞設計的明顯跡象。你永遠不需要這樣做,如果你這樣做,那麼你需要重新考慮你的設計。

您不能使字段與兩個不同的FK關聯。

+0

是的,我只能對這些表添加約束,我不能改變設計表格或刪除任何約束。 :( – 2011-04-12 13:59:54