Problème de DELETE en CASCADE

Fermé
Hard rock tom Messages postés 27 Date d'inscription vendredi 27 février 2009 Statut Membre Dernière intervention 6 mai 2014 - 19 oct. 2013 à 12:21
 Utilisateur anonyme - 22 oct. 2013 à 09:22
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 !
A voir également:

1 réponse

Utilisateur anonyme
22 oct. 2013 à 09:22
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
0