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)
)

Table 1 and Table 2 are big tables containing separate sets of information. They have a one-to-one relationship requiring full participation from both sides. Where should I put the foreign key statement? In Table1, Table2, or both? And why?

有帮助吗?

解决方案

There is nothing particularly wrong with doing it, however you should put the foreign key in both tables. That means when you insert new values you'll have to start a transaction, do both inserts, then commit the transaction.

I would strongly recommend merging the tables into one table. It will make everything easier.

其他提示

Id to id relationship is considered . This is a great trick in implementation .

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top