Bonsoir,
Je souhaiterais supprimer une ligne dans plusieurs table d'une base Mysql, le pb c'est que j'ai environ 150 tables et j'ai pas envie de les taper toutes à la main
Mais bon je trouve pas, est ce que vous connaitriez une solution ?
Merci
Bonsoir,
Je souhaiterais supprimer une ligne dans plusieurs table d'une base Mysql, le pb c'est que j'ai environ 150 tables et j'ai pas envie de les taper toutes à la main
Mais bon je trouve pas, est ce que vous connaitriez une solution ?
Merci
Si cela veut dire que vous avez la même ligne dans plusieurs tables, c'est à dire plusieurs tables avec la même structure, c'est que vous avez mal conçu votre base de données !
Expliquez mieux ce que vous souhaitez faire en fournissant un exemple.
Ca s'est fort possible !
En fait j'ai plusieurs table avec des Id et je voudrais donc supprimer dans toutes les tables toutes les lignes contenant un id donné. Mais bon j'ai pas envie de me taper toutes les noms des tables dans le sélect
Ce que j'essaye de faire c'est un truc de ce genre, mais je sais que ça ne marche pas en Mysql :
Il faudrait que j'arrive à récupérer le résultat de show tables
Code : Sélectionner tout - Visualiser dans une fenêtre à part select idpseudo from show tables where idpseudo = 'xp93'
salut,
2 solutions:
- procédure stockée avec un parcours de la liste des tables(`TABLES` avec la condition sur la colonne `TABLE_SCHEMA`='nom de ta bd' et tu récupères la colonne `TABLE_NAME`) dans `information_schema` via un curseur... dans la boucle de lecture du curseur tu appliques une requête préparée qui fait tes delete...
- tu fais un show table dont tu récupères le résultat dans un langage tiers (PHP par exemple) et où tu fais une boucle qui traite tes delete...
enfin, y a clairement à te poser la question pourquoi tu as autan de table avec un identifiant identique qui s'y ballade... et donc à revoir ton modèle de donnée certainement...
Euh... si tu as un identifiant dans la table "personne" qui porte le numéro 12 et un identifiant dans la table "vehicule" qui porte le numéro 12, ce ne sont pas les mêmes données ! Une personne n'est pas un véhicule et vice versa !
Toujours pas compris pourquoi tu veux supprimer des lignes/identifiants soit disant identiques dans plusieurs tables !
J'ai pas dit qu'elles était identique, mais j'ai besoin de supprimer dans chaque table la ligne qui avait pour identifiant 'xxx'
Après c'est clair que la base n'est peut être pas optimisée, mais ça suffit à mon besoin
Partager