簡體   English   中英

我應該有兩個互相引用的主鍵嗎?

[英]Should I have two primary keys referencing each other?

CREATE TABLE1 (
   ID INT NOT NULL PRIMARY KEY
   FOREIGN KEY ID REFERENCES TABLE2 (ID)
)

CREATE TABLE2 (
   ID INT NOT NULL,
   OTHER INT NOT NULL
   PRIMARY KEY (ID, OTHER)
   FOREIGN KEY ID REFERENCES TABLE1 (ID)
)

表1和表2是包含獨立信息集的大表。 他們之間存在一對一的關系,需要雙方的充分參與。 我應該在哪里放置外鍵聲明? 在表1,表2中,還是在兩者中? 又為什么呢?

這樣做沒有什么特別的錯誤,但是您應該將外鍵放在兩個表中。 這意味着,當您插入新值時,您將必須開始事務,進行兩次插入,然后提交事務。

我強烈建議將這些表合並為一個表。 這將使一切變得容易。

從id到id的關系被考慮。 這是實現的一個絕妙技巧。

暫無
暫無

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

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