remplacer un mot réccurant [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 01-12-2009 à 16:50:35
Quel est le SGBD que tu utilises ?
Marsh Posté le 02-12-2009 à 10:34:26
ReplyMarsh Posté le 02-12-2009 à 13:08:21
A ce moment là, il suffit d'utiliser une requête SQL
UPDATE matable SET monchamp = 'Mercières' WHERE monchamp = 'Mercière';
Traduction :
Modifie la table matable, affecte la valeur 'Mercières' à monchamp pour tous les enregistrements qui vérifient monchamp = 'Mercière'
Marsh Posté le 02-12-2009 à 13:54:15
Sataneo85 a écrit : Ah oui pardon, c'est pour du Web, je suis sur phpmyadmin |
Mysql, Postgresql, Oracle, SQL Serveur?
Une solution en Mysql est la suivante:
Soit la table 'maTable' contenant les champs uid (clé primaire) et adresse.
SELECT CONCAT('UPDATE maTable SET adresse = \'', adresse, '\' WHERE uid=', uid)
FROM maTable
WHERE adresse LIKE '%Mercières%';
Tu copies le résultat dans ton éditeur préféré, tu remplaces Mercières par Mercière et tu exécutes le script
Marsh Posté le 02-12-2009 à 13:56:25
Ca va un peu plus loin, je pense que ça doit être une chaîne contenant "Mercieres" et pas juste le mot
Et ça, ça demande d'utiliser une fonction dépendante du SGBD
Marsh Posté le 02-12-2009 à 14:03:33
Citation : REPLACE(str,from_str,to_str) Retourne une chaîne de caractères str dont toutes les occurrences de la chaîne from_str sont remplacées par la chaîne to_str : mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww'); |
http://dev.mysql.com/doc/refman/5. [...] tions.html
(phpmyadmin > c'est forcément mysql )
UPDATE champ SET champ = replace(champ,'Mercière','Mercières');
( ça va te générer des ligens avec Mercièress je te laisse le soin de corriger )
Marsh Posté le 02-12-2009 à 14:17:22
Merci pour toutes ces infos, ca fait plaisir!
J'ai tout pigé, merci d'avoir aussi bien détaillé les requêtes ;-)
J'avais une solution mais c'était pas franchement tres correct de faire comme ça, je voulais exporter la base, la passer dans un éditeur en "rechercher et remplacer" et la réimporter ... Autant commencer a apprendre les fonctions SQL c'est quand même plus utile
Merci à tous
Marsh Posté le 02-12-2009 à 14:29:50
je t'ai laissé un peu de taf, pense au lignes avec un double ss qui vont apparaitre
Marsh Posté le 01-12-2009 à 16:36:20
Bonsoir tout le monde, est il possible de faire une requête pour modifier un mot dans une base de données. Je m'explique, les tables sont remplies et sur 3000 enregistrements, il y'a peut etre 300 adresses a modifiées
l'erreur est : "Mercière" doit s'écrire "Mercières"
peut on faire une automatisation pour taitéer et modifier les données?
Message édité par Sataneo85 le 02-12-2009 à 14:17:37