簡體   English   中英

“table_XXX”中的列與現有主鍵或 UNIQUE 約束不匹配

[英]The columns in 'table_XXX' do not match an existing primiary key or UNIQUE constraint

我設計了 2 個簡單的表,如下所示:

用戶:

在此處輸入圖片說明

類別:

在此處輸入圖片說明

現在我想將用戶名設置為類別表上的外鍵,所以這就是我所做的,但得到如下所示的錯誤:

在此處輸入圖片說明

我做對了嗎? 或者有人可以建議我這樣做的正確方法嗎?

*注意:我嘗試從 2 個表中刪除主鍵並將它們添加回來並嘗試但顯示相同的錯誤。

你沒有以正確的方式去做——因此是錯誤的。 將 userid 放在您的類別表中,如果需要名稱,請加入用戶。

事實上,如果該字段代表創建類別的人,則應將其命名為 CreatedByUserId 之類的名稱。 它仍然應該引用users.userid。

並處unique constraintusername在列Users表。 然后您可以創建如圖所示的 FK。 也就是說,在兩個表中都有username並不是一個很好的設計。 您應該刪除username並在Categories表中包含userid並將其改為 FK。

外鍵約束不必只鏈接到另一個表中的主鍵約束; 它也可以定義為引用另一個表中的 UNIQUE 約束的列。

創建外鍵關系中

您必須在表 Users 中設置約束才能使用戶名唯一。

嘗試更改表中Categories外鍵字段的名稱。 似乎它使用他們的名字“自動裝配”字段。 我的意思是:將Categories.username更改為Categories.userid

如果要在屏幕截圖中設置外鍵關系,則表 users 中的列 username 必須具有唯一約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM