MySQL – Jak najít a nahradit text ve fulltextu?
Pokaždé na to zapomenu a pokaždé to hledám, přitom je to tak hloupoučký konstrukt! Díky pánové s MySQL!
UPDATE tabulka SET polestextem = replace(polestextem, 'cohledam', 'cimnahradim');
A na co se to hodí? Tak třeba pokud chci migrovat instalaci WordPressu z jedné domény na druhou, nebo pokud kupříkladu přecházím na protokol https:
UPDATE wp_options SET option_value = replace(option_value, 'http://lomitkari.cz', 'https://lomitkari.cz') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = replace(post_content, 'http://lomitkari.cz', 'https://lomitkari.cz'); UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://lomitkari.cz', 'https://lomitkari.cz'); UPDATE wp_posts SET guid = replace(guid, 'http://lomitkari.cz','https://lomitkari.cz');
Je jasné, že v MySQL lze udělat poměrně hodně a poměrně jednoduše. Někdy se porovnání DB Engine pověnuji trochu více, slibuji 🙂