Suppression d'un champs et mise a jour des autres

Messages postés
66
Date d'inscription
vendredi 9 septembre 2011
Statut
Membre
Dernière intervention
4 juin 2012
- - Dernière réponse : cs_jopop
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
- 12 mars 2012 à 11:07
Bonjour ,

je suis actuellement en pleine conception d'un site pour mon stage .
j'utilise easy php pour coder creer le site et je dois donc gerer une base de données sous mysql . dans ma BD j'ai une table mere nommée " produits " et plusieurs tables filles tels que " carte_mere , carte_graphique ect ... "

j'ai donc id_produit ( clé primaire de produits ) et id_carte_mere ( par exemple pour la table fille carte_mere ) comme clé primaire et id_produit comme clé etrangere .

lorsque je rajoute dans produits une nouvelle ligne, id_produit s'incremente tous seul et c'est la meme chose pour id_carte_mere .

mon probleme est le suivant :

si je souhaite supprimer la 5 eme ligne dans carte_mere j'aimerais que les lignes suivantes decrementent leur id_carte_mere puis que l'id_produits dans la table carte_mere decremente aussi . Dans la table produits , il faut aussi que la ligne correspondant a la carte mere en question ce supprime et que les ligne suivant ce decremente automatiquement de 1 leur id_produits


j'espere que vous m'avez compris =D

voila une representation assé breve de la base de donnée


Je vous remercie par avance .
Afficher la suite 

1 réponse

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
11
0
Merci
Salut,

pour la suppression des enregistrements liés : suivant ton archi il faut soit définir ta clé étrangère en "DELETE CASCADE", soit mettre en place un TRIGGER.

pour la décrémentation de l'identifiant auto incrémenté : ça n'a pas de sens. Cet identifiant n'a pas pour but de te servir de compteur d'enregistrements, mais de te fournir automatiquement un identifiant unique, sa valeur n'a pas d'importance.
Commenter la réponse de cs_jopop