我有兩個表TableA和TableB。現在TableA有2列:ID &名稱,TableB有3列:ID,名稱,& TableAID。現在有一個來自TableA.ID = TableB.TableAID的外鍵約束。我需要能夠允許TableB.TableAID使用TableA.ID或TableB.ID中的值,因此單個列上有多個外鍵約束,我需要它來允許或者。謝謝!SQL Server 2008中單個列上的多個外鍵約束
2
A
回答
5
這是一個壞設計的明顯跡象。你永遠不需要這樣做,如果你這樣做,那麼你需要重新考慮你的設計。
您不能使字段與兩個不同的FK關聯。
+0
是的,我只能對這些表添加約束,我不能改變設計表格或刪除任何約束。 :( – 2011-04-12 13:59:54
相關問題
- 1. SQL Server 2008外鍵約束錯誤
- 2. 多列外鍵約束上
- 3. SQL:創建多個外鍵和約束
- 4. SQL Server中的外鍵約束
- 5. SQL Server 2008中 - 加約束
- 6. SQL Server有條件的外鍵約束
- 7. 多重約束違反SQL Server 2008 - CodeFirst
- 8. Sql Server 2008檢查約束
- 9. 外鍵約束SQL
- 10. 外鍵約束 - 寫入錯誤表 - SQL Server 2008
- 11. SQL Server外鍵約束好處
- 12. SQL Server的我怎樣才能得到一個外鍵約束
- 13. 分組或多個外鍵約束
- 14. SQL中的複雜外鍵約束
- 15. 哪個表存儲有關SQL Server 2008中約束的信息?
- 16. SQL與外鍵約束
- 17. SQL 2008 - INFORMATION_SCHEMA視圖中的外鍵約束
- 18. 一個多列VS單柱的多個外鍵外鍵
- 19. SQL Server中的某些where子句的外鍵約束
- 20. 唯一約束外鍵列
- 21. 無法刪除約束 - SQL Server 2008 R2
- 22. 如何避免約束SQL Server 2008
- 23. 在表上設置列約束(SQL Server)
- 24. 添加外鍵,SQL SERVER 2008
- 25. SQL Server 2008外鍵錯誤
- 26. 存儲過程中的外鍵約束 - SQL Server
- 27. 外鍵約束
- 28. 外鍵約束
- 29. 外鍵約束
- 30. SQL Server約束
您可以在TableB.TableAID中使用NULL作爲您應該使用TableB.ID的指示嗎?這意味着你想要粘在那裏的TableB.ID將會是已經在記錄中的那個,這可能不是這種情況。 – DKnight 2011-04-12 15:02:42