我正在尝试创建2个参考表。但是我找不到我的错误。
这是derby的脚本:
CREATE TABLE AUDITORIUM (
audId BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
nameAud VARCHAR(50),
numberOfSeats INTEGER,
vipSeats VARCHAR(100)
);
CREATE TABLE EVENT (
eventId BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
name VARCHAR(50),
basePrice INTEGER,
rating VARCHAR(50),
audId BIGINT,
FOREIGN KEY (audId) REFERENCES AUDITORIUM (audId)
);
结果,我得到这个错误:
约束'SQL160511200811240'无效:在表“SA”。“AUDITORIUM”'上没有与外键中的列数和类型相匹配的唯一键或主键约束。
最佳答案
该错误告诉您audId
表中的AUDITORIUM
列需要声明为PRIMARY KEY
(或UNIQUE)。外键只能引用另一个表中的唯一键或主键。