今天在SQL Server使用SSMS建立資料表的外鍵時,出現錯誤:
資料表中的資料行與現有主索引鍵或UNIQUE條件約束不相符
。
英文訊息為
There are no primary or candidate keys in the referenced table [dbo.master] that match the referencing column list in the foreign key [FK_detail_master]
。
原因很簡單,因為我的主表忘了建立主鍵(Primary Key),所以出現此錯誤。
而更根本的原因是因為主表的主鍵為由多個外鍵及自身屬性組合成的複合主鍵(Compound Key),但我忘了把這多個屬性(欄位)建立為複合主鍵,所以在子表建立參考到主表的外鍵時出現上述錯誤。
參考:
沒有留言:
張貼留言