web-dev-qa-db-fra.com

MySql - Manière de mettre à jour une partie d'une chaîne?

Je cherche un moyen de mettre à jour une partie d'une chaîne via une requête MySQL.

Par exemple, si j'ai 10 enregistrements contenant tous "chaîne" dans la valeur du champ (par exemple, "quelque chose/chaîne", "quelque chose/chaîne", "quelque chose/chaîne/etcetera", existe-t-il un moyen de changer la chaîne 'à' une autre valeur 'pour chaque ligne via une requête, de sorte que le résultat soit' quelque chose/une autre valeur ',' quelque chose/une autre valeur ici, 'quelque chose/une chaîne/etcetera', existe-t-il un moyen de changer 'une autre valeur'

93
n00b0101

Je pense que cela devrait fonctionner:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
209
Kaleb Brasee
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
26
Tatu Ulmanen

Utilisez l'opérateur LIKE pour rechercher les lignes qui vous intéressent et les mettre à jour à l'aide de la fonction REPLACE.

Par exemple:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
14
Bernard Chen