-
DELETE PK / FK
Bonjour voici mon problème.
J'ai deux tables avec x colonnes.
Dans ma table A la colonne 6 (6 est un exemple) est une foreign Key
Dans ma table B la colonne 1 est u=une primary key qui est la foreign Key de la table A
Lorsque je fais une DELETE FROM Table_B WHERE Colonne1=@Colonne1 cela me supprime bien la ligne de la table B (Table_B) MAIS cela me supprime aussi la ligne de la Table_A ou la colonne1 est FK...
Pourriez vous m'aider ?
merci
-
J'ai trouvé seul, je poste ma réponse si cela peut aider.
Pour vous situer le contexte je travaille sur un logiciel traitant des demandes de congés. Ma table A représente tout les agents ( Identifiants , Nom , prénom , Statut etcc) et ma table B représente leurs demandes de congés . Chaque demande est attribuée à un code. Une demande de congés MAX par agent. Lorsque un Agent de statut supérieur se connecte au logiciel, il peut par une option supprimer une demande. Mais comme la demande est attribuée à son code de demande et ce même code est une clé étrangère dans la table A . Pour l'instant cela me supprime :
1- La demande // C'est ce que je souhaite
2- Toute la ligne de l'agent ayant fait la demande.
Je viens de voir sur ma BDD et effectivement ma jointure "ON DELETE CASCADE ON UPDATE CASCADE".
Donc je remplace mon "ON DELETE CASCADE" en "ON DELETE SET NULL" pour que le Delete n'affecte pas la jointure (donc n'affecte pas la table A) et mette en "NULL" la FK de la table A.
merci