Mise à jour dans tables multiples
Bonjour,
J'ai un formulaire sur un site qui permet de mettre à jour le profil d'un utilisateur. Il se compose de plusieurs champs comme changement de mot de passe, changement / ajout date de naissance, lieu de naissance, paramétrage du site, etc. Ces différents champs de mon formulaire sont liés à des tables différentes dans MySQL. Ainsi:
- les informations de base (pseudo, mot de passe, etc) sont stockées dans la table MEMBRE
- les informations facultatives (date et lieu de naissance, etc) sont stockées dans la table MEMBRE_PROFIL
- les informations de paramétrage du site sont stockées dans la table MEMBRE_PARAM
Aujourd'hui lors du POST de mon formulaire, je teste quelles variables ont été modifiées:
Cas 1
si des variables de MEMBRE sont modifiées je fais une requête UPDATE sur la table MEMBRE
Cas 2
si des variables de MEMBRE_PROFIL sont modifiées, je fais une requête DELETE sur la table MEMBRE_PROFIL (car l'utilisateur peut avoir supprimé toutes les infos facultatives par exemple), puis une requête INSERT sur la table MEMBRE_PROFIL avec les valeurs du formulaire
Cas 3
si des variables de MEMBRE_PARAM sont modifiés, je fais une requête DELETE sur la table MEMBRE_PARAM (car l'utilisateur peut avoir supprimé tous les paramètres qu'il avait sauvegardé au préalable), puis une requête INSERT sur la table MEMBRE_PARAM avec les valeurs du formulaire
Ma question est: existe t-il un moyen de gérer tout ça plus facilement / efficacement en utilisant les procédures stockées ? Par exemple en évitant d'avoir systématiquement un DELETE suivi d'un INSERT dans le cas 2 & 3.
Je tiens à souligner que je n'ai jamais utilisé le SQL procédural donc j'y connais vraiment rien :( mais j'aimerai au moins avoir vos avis pour savoir si il est intéressant de regarder de ce côté pour gérer les mises à jour des tables de mon site dans ce cas précis.
Merci d'avance !