每当我尝试引用外键时,都会出现此错误(缺少关键字) 这是我的代码:
CREATE TABLE SP (
S# CHAR(2) NOT NULL,
P# CHAR(2) NOT NULL,
QTY INTEGER,
PRIMARY KEY (S#,P#),
FOREIGN KEY (S#) REFERENCE Supplier(S#) ON DELETE CASCADE
);
答案 0 :(得分:1)
您的代码有几个问题:
主键定义的语法错误;应该是CONSTRAINT <constraint_name> PRIMARY KEY (S#, P#)
在外键的定义中,关键字REFERENCES
缺少最后一个S
考虑:
CREATE TABLE SP (
S# CHAR(2) NOT NULL,
P# CHAR(2) NOT NULL,
QTY INTEGER,
CONSTRAINT SP_PK PRIMARY KEY (S#, P#),
FOREIGN KEY (S#) REFERENCES Supplier(S#) ON DELETE CASCADE
);
提醒:请注意,主键引用的列必须是唯一的,或者引用表中的主键(即列S#
必须是表Supplier
的主键或具有{ {1}}约束。)