0
這裏是我的主表:沒有唯一約束匹配的引用表中給出鍵「僱員」 1
create table employee
(
eno SERIAL primary key,
ename varchar(100) not null,
title varchar(100) not null
);
我想引用的title
只是因爲我已經引用的另一個表eno
。
create table pay
(
title varchar(100),
sal money not null,
foreign key(title) references employee(title)
);
我得到一個錯誤,沒有唯一約束匹配的引用表中給出鍵「僱員」 1
請幫助我。我很難解決這個錯誤。我仍然是SQL的初學者。非常感謝
A **外鍵**從一個表('pay')可*僅限*引用**主鍵**另一個表(在這裏: 'employee'的列'eno') - 你不能只引用另一個表中的任意列 –
你可以引用具有唯一鍵的任何列(或一組列)。那些不一定是主要關鍵。如果'title'列中的值是唯一的,那麼您可以聲明該列是唯一的,然後引用它 - 儘管通常情況下,如果您已經有單列主鍵,那麼沒有理由使用不同的單列唯一鍵作爲外鍵關係的目標。 –