Problème de DELETE en CASCADE
Hard rock tom
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je pose le contexte:
J'ai une table Professeur avec un id (PRIMARY et A.I.) et un nom (VARCHAR).
J'ai une table Devoir avec un numéro de devoir (PRIMARY et A.I.) et une matière (VARCHAR).
J'ai une autre table Correction avec un l'id du professeur (PRIMARY et clé étrangère de l'id de Professeur) et le numéro du devoir (clé étrangère du numéro du devoir de Devoir).
Et donc mon problème se situe quand je veux supprimer un professeur. Il indique que ce n'est pas possible puisqu'il possède des copies de corrigées dans le table Correction (ce qui est normal). Mais j'aimerai quand même pouvoir le supprimer tout en gardant la liste des copies qu'il a déjà corrigé dans la table Correction.
Merci de votre aide !
J'ai une table Professeur avec un id (PRIMARY et A.I.) et un nom (VARCHAR).
J'ai une table Devoir avec un numéro de devoir (PRIMARY et A.I.) et une matière (VARCHAR).
J'ai une autre table Correction avec un l'id du professeur (PRIMARY et clé étrangère de l'id de Professeur) et le numéro du devoir (clé étrangère du numéro du devoir de Devoir).
Et donc mon problème se situe quand je veux supprimer un professeur. Il indique que ce n'est pas possible puisqu'il possède des copies de corrigées dans le table Correction (ce qui est normal). Mais j'aimerai quand même pouvoir le supprimer tout en gardant la liste des copies qu'il a déjà corrigé dans la table Correction.
Merci de votre aide !
A voir également:
- Problème de DELETE en CASCADE
- Liste déroulante en cascade - Guide
- Hiberfil.sys delete - Guide
- Juste delete me - Guide
- Kismia delete account - Forum Réseaux sociaux
- Cascade windows 11 - Guide
1 réponse
salut,
regarde du côté de "ON DELETE SET NULL" ou " ON DELETE SET DEFAULT" si tu n'est pas en innoDB et que l'id peu être nulle.
Sinon tu peux aussi créer un professeur "générique" avec un identifiant déterminé (par exemple "professeur supprimé") et rajouter un trigger avant la suppression d'un professeur qui donnera l'id de "professeur supprimé" à toutes les lignes de correction qui ont l'id à supprimer.
naga
regarde du côté de "ON DELETE SET NULL" ou " ON DELETE SET DEFAULT" si tu n'est pas en innoDB et que l'id peu être nulle.
Sinon tu peux aussi créer un professeur "générique" avec un identifiant déterminé (par exemple "professeur supprimé") et rajouter un trigger avant la suppression d'un professeur qui donnera l'id de "professeur supprimé" à toutes les lignes de correction qui ont l'id à supprimer.
naga