說我有以下表和列:如何限制表連接兩個表中的許多一對多的關係
comp:
id,
model
dvd:
id,
model
comp2dvd:
id,
id_comp,
id_dvd
的計算機可以有即使是同一型號的多個DVD驅動器,以及DVD驅動器可以出現在多臺電腦上。我如何使comp2dvd表只能有現有的comp和dvd id?
謝謝
說我有以下表和列:如何限制表連接兩個表中的許多一對多的關係
comp:
id,
model
dvd:
id,
model
comp2dvd:
id,
id_comp,
id_dvd
的計算機可以有即使是同一型號的多個DVD驅動器,以及DVD驅動器可以出現在多臺電腦上。我如何使comp2dvd表只能有現有的comp和dvd id?
謝謝
不能正常有沒有識別爲唯一的列的一列或組合的強制執行措施的索引的外鍵引用(如,但不限於,一個主鍵)
排版應具有ID作爲主鍵
DVD應該有id作爲主鍵
comp2dvd應該有id作爲主鍵
comp2dvd笑ULD有id_comp爲外鍵引用(comp.id)
comp2dvd應該id_dvd爲外鍵引用(dvd.id)
不要讓comp2dvd對一列的唯一索引或約束(id_comp ,id_dvd),因爲您需要具有多個相同驅動器的計算機的副本
通過添加外鍵到id_comp和id_dvd?
爲什麼不直接使用直接連接表?您可以在連接表上添加一個約束,以允許使用一個DVDID +計算機組合。
Computer -----> CompDVD <------ DVD --------> Model
ID CompID ID ID
DVDID
如果鏈接表只有id_comp和id_dvd,但這對我不起作用,這將工作。如果我嘗試添加外鍵,則會出現此錯誤:表'dvd'中的列與現有主鍵或UNIQUE約束不匹配。 – Gromul 2010-06-02 02:04:06