我必须创建一个表的结构
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)
^ ^