web-dev-qa-db-ja.com

同じテーブルを参照する2つの外部キー

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

私のテーブルはMailSentで、次のものが含まれています:主キー(Id)、日付、foreignkey1(profil_sender)、foreignkey2(profil_receiver)

8
Najoua

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

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);
3
Rimon Khan

テーブルの作成時に外部キーを追加する場合は、次のようにします。

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)

)
1
zhou yun