我一直在嘗試解決此問題,但找不到解決方案。 我有兩個表,即:用戶,firstdb。 在用戶表中我有兩個主鍵,在外鍵表中我有一個字段,我想讓它成爲一個外鍵。 我試圖將一個字段作爲用戶表中的主鍵,該關係在當時正常工作,但是一旦將第二個字段設置爲primary,它會強制我由於某種原因刪除現有關係。另外,這兩個字段具有相同的數據類型。表***中的列與現有主鍵或UNIQUE約束不匹配
我試圖在MySQL中創建這樣的關係,它對我來說工作得很好,但由於某種原因它在這裏不起作用。
我一直在嘗試解決此問題,但找不到解決方案。 我有兩個表,即:用戶,firstdb。 在用戶表中我有兩個主鍵,在外鍵表中我有一個字段,我想讓它成爲一個外鍵。 我試圖將一個字段作爲用戶表中的主鍵,該關係在當時正常工作,但是一旦將第二個字段設置爲primary,它會強制我由於某種原因刪除現有關係。另外,這兩個字段具有相同的數據類型。表***中的列與現有主鍵或UNIQUE約束不匹配
我試圖在MySQL中創建這樣的關係,它對我來說工作得很好,但由於某種原因它在這裏不起作用。
你似乎有一個主要鍵就是一個深刻的誤解。主鍵(單數)是唯一標識每行的一列或多列(並且沒有列是NULL
)。當您單擊「主鍵」兩列時,您正在生成一個複合主鍵。
外鍵引用需要是完整的主鍵。如果你有一個複合主鍵,你需要一個複合外鍵。
具有單列外鍵引用是爲什麼最佳類型的主鍵是標識列的原因之一。我猜測userid
就是這樣一個專欄。
如果您希望uEmailId
爲唯一且非空的,則將其定義爲唯一且非NULL。但是,不要將其添加到主鍵!
我現在明白了,它的工作很好,謝謝你的幫助。 –
「在用戶表中我有兩個主鍵」。 *主鍵*表示有一個。 –