我正在创建一个表,但是我收到了这个错误:
- 外键不同意的引用和引用列数。
我不知道如何解决它。我认为声明3个外键可能有问题,但是,我不确定。
有什么问题?
谢谢!
Create table Trasllat
(
Data Date,
Codi_Empleat Integer,
Nom_agencia Varchar(30),
Data_fi Date,
Primary key (Data, Codi_Empleat),
Foreign key (Data) references Data on delete cascade,
Foreign key (Codi_empleat) references Empleat on delete cascade
Foreign key (Nom_agencia) references Agencia on delete cascade
);
答案 0 :(得分:4)
那是因为您没有指定它应引用的表的特定列名。您的外键声明应如下所示。请注意部分references Empleat(column_name)
,它表示列Codi_empleat
引用Empleat
表column_name
列。
Foreign key (Data) references Trasllat(Data) on delete cascade,
Foreign key (Codi_empleat) references Empleat(column_name) on delete cascade
Foreign key (Nom_agencia) references Agencia(column_name) on delete cascade
检查Postgres Documentation以获取有关相同内容的更多信息。