0
は、ここに私のメインテーブルです:私はすでに別の表のeno
参照してきたという理由だけでtitle
を参照したい「従業員」参照テーブルの指定されたキーに一致するユニーク制約はありません1
create table employee
(
eno SERIAL primary key,
ename varchar(100) not null,
title varchar(100) not null
);
。
create table pay
(
title varchar(100),
sal money not null,
foreign key(title) references employee(title)
);
が、私はそこに参照されるテーブルのために与えられたキーに一致するユニーク制約ではない「従業員」というエラーが出る1
私を助けてください。私はこのエラーを解決するのに苦労しています。私はまだSQLの初心者です。ありがとうございました
:
は
eno
への外部キーを使用します'employee'の列' eno') - 別のテーブルの任意の列を参照するだけではいけません –一意のキーで任意の列(または列の集合)を参照できます。それらは主キーである必要はありません。あなたの 'title'カラムの値が一意であれば、そのカラムをユニークに宣言してから参照することができます - しかし、一般に一列の主キーを持っていれば、一意の別のカラムを使用する正当な理由はありませんキーを外部キー関係のターゲットとして使用します。 –