Случилось так, что понадобилось мне массово поправить ссылки на картинки во многих сообщениях. Естественно вручную делать не хотелось, да и как-то это старомодно что ли… 🙂
На выручку пришел google со своими умными ссылками. Не будем тянуть кота за хвост, поехали…
Заменить часть текста в строке или целой пачке строк можно всего одним запросом:
UPDATE таблица SET поле = REPLACE(поле, "строка для замены", "чем заменяем");
Вот мой случай:
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, например:
UPDATE bb_posts_text SET post_text = REPLACE(post_text, "/_imgdata/img/", "/assets/external/illustrations/") WHERE post_text LIKE "%/_imgdata/img/%";
Это просто, быстро и эффективно… но только на небольших объемах БД, вернее небольшом количестве записей, которые будет обрабатывать запрос.
Успехов! 🙂
28 июня, 2013
19 мая, 2015 at 9:55 дп
Спасибоза инструкцию, коротко и понятно. Без нее пришлось бы пол дня менять тексты на сайте. А так все сделал за 2 минуты…
28 октября, 2015 at 9:51 пп
Благодарю за столь ценную инструкцию, на сайте заметил опечатку на огромном количестве страниц, буквально за несколько минут всё поправил, дольше времени ушло на то, чтобы найти в какое поле таблицы вносить изменения.
22 ноября, 2015 at 12:44 пп
Спасибо за статью. Очень помогла. Просто и быстро.
24 октября, 2016 at 12:31 пп
Спасибо за маленькую, но всё же крайне полезную штуку. Также на престашопе пришлось менять ссылки.
Спасибо! Всё-таки надо делиться решениями разных моментов друг с другом.