[英]Foreign key does not exist error? Oracle SQL
I'm creating a database and making some tables.我正在创建一个数据库并制作一些表格。
I have a table 'written_by' which references table 'author' and 'book' the creating code is as below.我有一个表“written_by”,它引用表“作者”和“书”,创建代码如下。
CREATE TABLE WRITTEN_BY (
NAME VARCHAR2(20),
ADDRESS VARCHAR2(30),
ISBN VARCHAR2(30),
CONSTRAINT WB_FK FOREIGN KEY(NAME)
REFERENCES AUTHOR(NAME),
CONSTRAINT WB_FK2 FOREIGN KEY(ADDRESS)
REFERENCES AUTHOR(ADDRESS),
CONSTRAINT WB_FK3 FOREIGN KEY(ISBN)
REFERENCES BOOK(ISBN)
);
When the code is executed, the script returns 'no primary key existing', but as searched by执行代码时,脚本返回“没有主键存在”,但通过搜索
SELECT cols.table_name, cols.column_name, cols.position, cons.status, cons.owner
FROM all_constraints cons, all_cons_columns cols
WHERE cons.constraint_type = 'P'
AND cons.constraint_name = cols.constraint_name
AND cons.owner = cols.owner
ORDER BY cols.table_name, cols.position;
There are primary key 'name', 'address', and 'ISBN'.有主键“名称”、“地址”和“ISBN”。
*edit Here's the 'author' table creating code. *edit 这是“作者”表创建代码。
CREATE TABLE AUTHOR (
NAME VARCHAR2(20),
ADDRESS VARCHAR2(30),
URL VARCHAR2(100),
CONSTRAINT A_PK PRIMARY KEY(NAME, ADDRESS)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.