没有主键的外键可以参考

时间:2012-10-10 12:48:21

标签: sql oracle oracle10g oracle11g

我有两张桌子。

CREATE TABLE parent
( c1 INTEGER );

CREATE TABLE child
(
 c1 INTEGER,
 c2 INTEGER,
 c3 INTEGER,
 CONSTRAINT fk_c3 FOREIGN KEY(c3) REFERENCES parent(c1)
);

您必须注意到列c1不是Parent表中的主键。 有没有办法在Child表中引用它而不将c1作为主键?

1 个答案:

答案 0 :(得分:6)

  

有没有办法在Child表中引用它而不将'c1'作为主键?

是。外键只需要引用唯一约束 - 它不必是主键。您可以在该列上创建唯一的约束。