Bonjour,
j'ai deux tables service(id_service,libelle,statut) et agent(id_agent,nom,prenom,id_service,statut)
les valeurs des champs statut présents dans les deux tables n'ont que deux valeurs 0 ou 1 (0 = inactif et 1 = actif)
je veux que quand on met à jour le champ statut de la table service (c'est à dire si on le met à 0), le champ statut de la table agent soit automatiquement mis à 0 aussi

j'ai essayé avec ce code mais ça ne passe pas:

alter table agent add constraint fk_agentservice FOREIGN KEY (id_service,statut) REFERENCES service(id_service,statut) ON UPDATE CASCADE

toutes les deux table sont en INNODB

2 réponses


Salut,

Alors après avoir fait quelques recherches, ma question va être toute bête :

as tu réellement besoin de sauvegarder le champ statut dans deux tables différentes alors qu'au final il contient la même donnée ?
Si c'est pour détecter si un agent est en service, ne le laisse que dans agent.

Bonjour,

Utilise un trigger plutot qu'une ForeignKey pour ce genre de chose.
Mais je rejoins aussi Pewel sur la pertinence !