Introduction :
De nombreuses applications nécessitent la possibilité de modifier des parties spécifiques d'une chaîne dans une base de données. Cette tâche peut devenir fastidieuse si plusieurs lignes doivent être mises à jour individuellement. MySQL fournit une solution pratique à ce défi.
Solution :
Pour mettre à jour une partie d'une chaîne pour plusieurs lignes dans une seule requête, MySQL propose la fonction REPLACE(). Cette fonction remplace toutes les occurrences d'une sous-chaîne spécifiée par une nouvelle valeur.
Syntaxe :
UPDATE table_name SET column_name = REPLACE(column_name, 'substring_to_replace', 'new_substring') WHERE condition;
Exemple :
Considérez le tableau suivant avec un champ nommé "description":
id | description |
---|---|
1 | something/string, something/stringlookhere |
2 | something/string/etcetera |
Pour remplacer toutes les occurrences de "string" avec "une autre valeur" dans toutes les lignes, utilisez la requête suivante :
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue');
Résultat :
id | description |
---|---|
1 | something/anothervalue, something/anothervaluelookhere |
2 | something/string/etcetera |
Remarque : Si vous le souhaitez pour mettre à jour uniquement les lignes contenant la sous-chaîne spécifiée, incluez une clause WHERE dans votre requête. Par exemple, pour mettre à jour uniquement les lignes où « chaîne » apparaît dans le champ « description » :
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue') WHERE description LIKE '%string%';
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!