Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso sostituire solo il primo risultato nella funzione SQL

In MySQL <8.0, dove regexp_replace() e simili non sono supportati, puoi usare le funzioni di stringa:

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

Demo su DB Fiddle :

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