web-dev-qa-db-fra.com

2 clés étrangères référençant la même table

Puis-je avoir deux clés étrangères dans la même table qui font référence à une autre table nommée profil (la même)?

ma table est MailSent, elle contient: clé primaire (Id), date, foreignkey1 (profil_sender), foreignkey2 (profil_receiver)

8
Najoua

Ajouter des clés étrangères (profil_sender_id, profil_receiver_id) vers une table existante (MailSent), procédez comme suit:

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

Si vous souhaitez ajouter des clés étrangères lors de la création de la table, pourrait faire comme ceci:

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