Случилось так, что понадобилось мне массово поправить ссылки на картинки во многих сообщениях. Естественно вручную делать не хотелось, да и как-то это старомодно что ли… 🙂
На выручку пришел google со своими умными ссылками. Не будем тянуть кота за хвост, поехали…
Заменить часть текста в строке или целой пачке строк можно всего одним запросом:
1 | UPDATE wp_posts SET post_content = REPLACE(post_content, "@ru_lh", " "); |
1 | UPDATE таблица SET поле = REPLACE(поле, "строка для замены", "чем заменяем"); |
Вот мой случай:
1 | UPDATE bb_posts_text SET post_text = REPLACE(post_text, "/_imgdata/img/", "/assets/external/illustrations/"); |
Мне нужно заменить часть ссылки /_imgdata/img/ на /assets/external/illustrations/ в колонке post_text в таблице bb_posts_text.
Как положено UPDATE, можно применять дополнительно условия через WHERE, например:
1 | UPDATE bb_posts_text SET post_text = REPLACE(post_text, "/_imgdata/img/", "/assets/external/illustrations/") WHERE post_text LIKE "%/_imgdata/img/%"; |
Это просто, быстро и эффективно… но только на небольших объемах БД, вернее небольшом количестве записей, которые будет обрабатывать запрос.
Успехов! 🙂
Спасибо Gemini_13’s Blog