sql >> Database >  >> RDS >> Mysql

Hoe ik alleen het eerste resultaat in de SQL-functie kan vervangen?

In MySQL <8.0, waar regexp_replace() en dergelijke worden niet ondersteund, u kunt tekenreeksfuncties gebruiken:

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 op DB Fiddle :

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


  1. mysql-query voor alle records niet vandaag

  2. FOUT in PDO:oproep naar een lidfunctie prepare() op null

  3. PHP MYSQL haalt een TEKST op met nieuwe regels

  4. JQuery Ajax gebruiken om gegevens op te halen uit Mysql