我正在尝试创建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)。外键只能引用另一个表中的唯一键或主键。

09-09 23:02