Как найти и заменить текст в базе данных MySQL? — Хочу Знать

Как найти и заменить текст в базе данных MySQL?

Недавно столкнулся с задачей по переезду сайта на другой домен. Таким образом нужно было заменить на сайте любые упоминания старого домена на новый. Поскольку все содержимое сайта хранилось в БД MySQL, решить задачу удалось одним простым SQL запросом:

UPDATE table_name SET field_name = REPLACE(field_name, 'current_value', 'new_value') WHERE field_name LIKE '%current_value%'

Данный запрос выполняет поиск записей в таблице table_name и выбирает те из них,  поле field_name которых содержит текст current_value. После чего данный текст заменяет на new_value. Таким образом любые упоминания старого доменного имени в ссылках, записях, статьях и т.д. будут преобразованы в новое.

Пример:

UPDATE wp_posts SET post_content = REPLACE(post_content , 'domen.ru', 'newdomen.ru') WHERE post_content LIKE '%domen.ru%'

В CMS WordPress данный запрос меняет значение старого домена на новый в содержимом всех записей ( постов ) сайта.

Вам также может понравиться

About the Author: admin

Добавить комментарий