2016-11-03 23 views
1

同じテーブルに、profilという名前の別のテーブルを参照している2つの外部キーを持つことはできますか?2つの外部キーが同じテーブルを参照しています

私のテーブルがMailSentで、それが含まれています:主キー(ID)、日付、foreignkey1(profil_sender)を、foreignkey2(profil_receiver)

答えて

1

は、次の手順に従って、既存のテーブル(MailSent)に外部キーに(profil_sender_id, profil_receiver_id)を追加します。

あなたがテーブルを作成するときに外部キーを追加したい場合は
ALTER TABLE MailSent ADD CONSTRAINT fk_profile_sender_id FOREIGN KEY (profil_sender_id) REFERENCES TABLE-NAME(id); 

ALTER TABLE MailSent ADD CONSTRAINT fk_profil_receiver_id FOREIGN KEY (profil_receiver_id) REFERENCES TABLE-NAME(id); 
+0

だから、それが正しいことを、私は思った私は1つだけを持っている必要があります"profil_id"キーを押せば、他のすべてのフィールドを取得することができます。 – Najoua

+0

テーブルに外部キー 'profile_id'を追加すると、外部キー参照テーブルの情報がすべて取得されます。プロファイル) '' profile_id'を使用しています。 –

+0

それでは、それも正しいですよね? – Najoua

0

、次のように行うことができます:

create table MailSent(

    Id int primary key, 

    date datetime, 

    profil_sender int, 

    profil_receiver int, 

    CONSTRAINT fk_sender FOREIGN KEY (profil_sender) REFERENCES profil(id), 

    CONSTRAINT fk_receiver FOREIGN KEY (profil_receiver) REFERENCES profil(id) 

) 
関連する問題