是否可以执行同时也是引用主复合键的外键的复合主键?
例如,假设我有一个具有复合键的表Person:
create table Person(
id varchar(50) not null,
nationality varchar(50) not null,
PRIMARY KEY (id, nationality)
);
我想要创建一个名为worker的表,它的主键也是外键(就像复合键的专门化),例如(尽管它不能工作):
create table worker(
id varchar(50) not null,
nationality varchar(50) not null,
PRIMARY KEY (id, nationality),
FOREIGN KEY (id) REFERENCES Person (id),
FOREIGN KEY (nationality) REFERENCES Person (nationality),
);
我该怎么做呢?
发布于 2022-11-20 21:20:17
要生成外键组合,它应该有多个列。
您制作了两个外键,每个列只有一个列,而不是复合外键。
create table worker(
id varchar(50) not null,
nationality varchar(50) not null,
PRIMARY KEY (id, nationality),
FOREIGN KEY (id, nationality) REFERENCES Person (id, nationality)
);
https://stackoverflow.com/questions/74512054
复制相似问题