我应该有两个主键相互引用吗?

时间:2014-03-13 02:24:41

标签: sql foreign-keys primary-key

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或两者中?为什么?

2 个答案:

答案 0 :(得分:1)

执行此操作没有什么特别的错误,但是您应该将外键放在两个表中。这意味着当您插入新值时,您必须启动事务,同时执行两次插入,然后提交事务。

我强烈建议将表合并到一个表中。它会让一切变得更轻松。

答案 1 :(得分:0)

考虑Id to id关系。这是一个很好的实现技巧。

相关问题