我必须创建一个表的结构

create table reparto
(
numrep integer,
nomespec varchar(20),
nomeosp varchar(20),
cittaosp varchar(25),
primary key (numrep,nomespec,nomeosp,cittaosp),
foreign key(nomeosp,cittaosp) references ospedale(nomeosp,cittaosp),
foreign key nomespec references specializzazione(nomeospe)
);


当然我已经创建了表格

create table ospedale
(
nomeosp varchar(20),
cittaosp varchar(25),
numasl integer,
idasp varchar(4),
primary key(nomeosp,cittaosp)
);




create table specializzazione
(
nomespe varchar (20) primary key
);


当然它不起作用,我也不知道该怎么办,有人可以告诉我如何创建几个不同的外键吗?

最佳答案

我们可以在这里指出一些明显的事情。外键定义中给出的列名:

references specializzazione(nomeospe)
                                ^


与表定义中的列名不匹配

... specializzazione ( nomespe ...
                       ^^^^^^^


并且外键的列列表应括在括号中

... foreign key (nomespec)
                ^        ^

10-06 08:33