【问题标题】:foreign key sql oracle外键 sql oracle
【发布时间】:2018-02-23 16:42:26
【问题描述】:

我在向表中添加外键时遇到问题。任何建议都会很棒,谢谢:) 我得到的错误如下

DROP TABLE Table_One
/

CREATE TABLE Table_One
(
col1 number(10),
col2 varchar(200),
PRIMARY KEY(col1)
)

/
DROP TABLE Table_Two
/

CREATE TABLE Table_Two
(
col3 number(10), 
col2 varchar(200),
PRIMARY KEY(col3),
CONSTRAINT fk_col2 FOREIGN KEY(col2) references Table_One(col2)
)
/

SQL> start newtest.sql

Table dropped.


Table created.

DROP TABLE Table_Two * 第 1 行出现错误:ORA-00942:表或视图不存在

CONSTRAINT fk_col2 FOREIGN KEY(col2) references Table_One(col2)
                                                      *

第 6 行出现错误:ORA-02270:没有匹配的唯一键或主键 列列表

【问题讨论】:

  • 错字。它应该是 FOREIGN KEY(col3)

标签: sql oracle foreign-keys


【解决方案1】:

DROP TABLE 上的错误是因为该表还不存在。第二个错误是因为您将col1 定义为Table_One 的主键,而不是col2,并且外键只能引用主键或唯一键。所以,要么你需要引用col1,要么你需要在col2上创建一个unique key

【讨论】:

  • @mathguy 更新了我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-26
  • 1970-01-01
相关资源
最近更新 更多