Как сделать mysql запросы для замены сериализованных ссылок?

Как сделать mysql запросы для замены сериализованных ссылок? При переносе WP имеются файлы и база данных, доступ к старому сайту не имеется.
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 1
irtek
@irtek
Wordpress-addicted
Какая именно задача?

Если найти в сериализованных полях какую-то ссылку или блок текста и заменить, то можно просто воспользоваться поиском и заменой в MySQL простым SQL запросом:

table - название таблицы
field_name - колонка

UPDATE `table` SET `field_name` = replace(field_name, 'http://site1.ru', 'http://site2.ru')


(!) все операции с БД выполняйте только после того как сделаете бэкап (!!!)

Второй вариант через скрипт
Если надо что-то сделать с данными, то можно написать простой скрипт на php, который выполнит эту операцию, предварительно проведя десериализацию данных, выполнив с ними операцию и затем опять обновив в БД.
Если речь о WordPress, то можно получить все мета поля ( притом функция get_post_meta() автоматически десериализует данные при получении из БД ), затем провести с ними операцию, а затем обратно update_post_meta и так хоть тысячу полей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы