Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je remplacer uniquement le premier résultat dans la fonction SQL

Dans MySQL <8.0, où regexp_replace() et similaires ne sont pas pris en charge, vous pouvez utiliser des fonctions de chaîne :

update wp_comments
set comment_content = concat(
    substr(comment_content, 1, locate('XXX', comment_content) - 1),
    'MMM',
    substr(comment_content, locate('XXX', comment_content) + 3)
) 
where comment_id = 334 and locate('XXX', comment_content) > 0

Démo sur DB Fiddle :

comment_id | comment_content                                                               
---------: | :-----------------------------------------------------------------------------
       334 | Hello MMM tomorrow we XXX will meeting in XXX Dubai, Do you want join us XXX ?