sql >> Databáze >  >> RDS >> Mysql

Jak mohu nahradit pouze první výsledek ve funkci SQL

V MySQL <8.0, kde regexp_replace() a podobné nejsou podporovány, můžete použít řetězcové funkce:

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

Ukázka na DB Fiddle :

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


  1. Vrátí dotaz SELECT vždy řádky ve stejném pořadí? Tabulka s seskupeným indexem

  2. Foreach ze DVOU opakování TextFields, je to možné?

  3. PHP, MySQL:Příjem e-mailů, automatické vyhledávání v DB a odesílání e-mailů na základě výsledků

  4. Jak získat záznam ve smyčce while