【发布时间】:2019-06-04 11:47:28
【问题描述】:
所以我刚刚开始学习 SQL,无法获取外键来引用主键。
这是不工作的表
CREATE TABLE Classification (
mvID integer,
genre varchar (20),
FOREIGN KEY(mvID) REFERENCES Movie(mvID)
);
这是它所引用的表
CREATE TABLE Movie (
mvID integer,
title varchar(40),
rating char (2),
rel_date date,
length integer,
studio varchar(40),
PRIMARY KEY (mvID)
);
每当我运行它时,它总是向我显示这条消息
错误报告-
ORA-02270: 此列列表没有匹配的唯一键或主键 02270. 00000 - “此列列表没有匹配的唯一键或主键” *原因:CREATE/ALTER TABLE 语句中的 REFERENCES 子句 给出没有匹配的唯一或主要的列列表 引用表中的键约束。
*操作:使用 ALL_CONS_COLUMNS 查找正确的列名 目录视图
【问题讨论】:
-
您的代码有效:dbfiddle.uk/….
-
你检查过user_constraints表中存在PK吗?
-
是这种情况,您创建了没有PK的电影表,或者可能稍后添加并且没有以某种方式创建约束。您提供的脚本运行良好。
-
它工作正常。请参考:dbfiddle.uk/…