簡體   English   中英

表“用戶”中的列與現有主鍵或唯一約束不匹配

[英]The column in table 'Users' do not match an existing primary key or unique constraint

我有兩個表,'Users' 和'IssueBooks'。 在這兩個表中,我都將 ADMIN_ID、USN 和 E_ID 作為列。

當我嘗試將用戶表連接到使這些列成為外鍵的 IssueBooks 表時,會彈出此錯誤:-

The column in table 'Users' do not match an existing primary key or unique constraint

所有三列都是主鍵,我希望它們是 IssueBooks 表中的外鍵。

所有這些列在兩個表中的拼寫相同。

這意味着 Users 具有父表IssueBooks不存在的組合。 找出值並相應地更新它。

  1. 找出父級中缺少的組合
SELECT ADMIN_ID, USN, E_ID
FROM Users AS uo
WHERE NOT EXISTS (SELECT 1 FROM IssueBooks 
                  WHERE ADMIN_ID = uo.ADMIN_ID 
                    AND USN = uo.USN 
                    AND E_ID = uo.E_ID)
  1. 現在,您需要更新或刪除Users的組合:
UPDATE Users
SET ADMIN_ID = <newvalue>,
    USN = <newvalue>,
    E_ID = <newvalue>
WHERE ADMIN_ID = <oldvalue> 
  AND USN = <oldvalue> 
  AND E_ID = <oldvalue>

或者

DELETE Users
WHERE ADMIN_ID = <oldvalue> AND USN = <oldvalue> AND E_ID = <oldvalue>
  1. 現在在Users表中相應地創建外鍵:
ALTER TABLE Users 
    ADD CONSTRAINT FK_Users_issueBooks 
        FOREIGN KEY (ADMIN_ID, USN, E_ID) 
        REFERENCES IssueBooks(ADMIN_ID, USN, E_ID)

暫無
暫無

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

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