Je cherche un moyen de mettre à jour juste une partie d'une chaîne via une requête MySQL. Par exemple, si j'ai 10 enregistrements contenant tous une 'chaîne' dans la valeur du champ (par exemple, 'quelque chose/chaîne', 'quelque chose/stringlookhere', 'quelque chose/chaîne/etcetera', y a-t-il un moyen? changer 'string' en 'autrevaleur' pour chaque ligne via une requête, de sorte que le résultat soit 'quelque chose/une autrevaleur', 'quelque chose/autrevaluelookhere', 'quelque chose/chaîne/etcetera', est-il possible de changer 'autrevaleur'MySql - Façon de mettre à jour une partie d'une chaîne?
Répondre
Je pense que cela devrait fonctionner:
UPDATE table SET field = REPLACE(field, 'string', 'anothervalue') WHERE field LIKE '%string%';
Bien sûr ... merci ... Il était une fois, je connaissais cette fonction ... une grippe stupide. – n00b0101
copain génial, vous économisez toute ma journée –
PARFAIT !! Tu as sauvé ma journée! –
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
Utilisez l'opérateur LIKE
pour trouver les lignes que vous vous souciez et mettre à jour les en utilisant la fonction REPLACE
.
Par exemple:
UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
FYI: code> explication, mais les deux sont idéaux. –
double possible de [MySQL rechercher et remplacer du texte dans un champ] (http://stackoverflow.com/questions/125230/mysql -search-and-replace-some-text-in-a-field) –