Remplacement de chaînes dans plusieurs enregistrements à l'aide de MySQL REPLACE()
Pour rectifier la corruption de la base de données due à un échappement inapproprié, la fonction REPLACE() de MySQL fournit un solution pour remplacer efficacement les chaînes erronées dans plusieurs enregistrements.
La syntaxe de la fonction REPLACE() dans une requête est :
UPDATE MyTable SET StringColumn = REPLACE(StringColumn, 'SearchForThis', 'ReplaceWithThis') WHERE SomeOtherColumn LIKE '%PATTERN%'
Par exemple, considérons une situation où les chaînes contenant le '<' Les caractères ont été incorrectement échappés sous la forme '<'. Pour corriger cela, la requête suivante peut être utilisée :
UPDATE MyTable SET StringColumn = REPLACE(StringColumn, '&lt;', '<') WHERE articleItem LIKE '%&lt;%';
Notez que, à moins que la clause WHERE n'améliore considérablement les performances, elle peut être omise, car le remplacement de tous les enregistrements sera probablement plus rapide.
Plusieurs appels REPLACE() peuvent également être chaînés :
UPDATE MyTable SET StringColumn = REPLACE(REPLACE(StringColumn, 'GREATERTHAN', '>'), 'LESSTHAN', '<')
De plus, REPLACE() peut être appliqué lors de la sélection scène :
SELECT REPLACE(MyURLString, 'GREATERTHAN', '>') AS MyURLString FROM MyTableCe 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!