我在PostgreSql中遇到错误:外键不同意的引用和引用列数

时间:2014-11-01 01:07:54

标签: mysql postgresql foreign-keys

我正在创建一个表,但是我收到了这个错误:

- 外键不同意的引用和引用列数。

我不知道如何解决它。我认为声明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
);

1 个答案:

答案 0 :(得分:4)

那是因为您没有指定它应引用的表的特定列名。您的外键声明应如下所示。请注意部分references Empleat(column_name),它表示列Codi_empleat引用Empleatcolumn_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以获取有关相同内容的更多信息。