Это наверное одно из самых больных тем, а именно когда ты переносишь сайт на другой домен и в базе данных полно еще мусора от старого сайта. Решить данную проблему не вникающему пользователю в программирование и который не умеет писать запросы в phpMyAdmin — это взять выгрузить SQL файл с Вашей базы данных, открыть его на своей компьютере в блокноте или Notepad++ и заменить данные вручную через Ctrl+H.
Но очень часто, а это касается самописных разработок, когда базу выгрузил, все поменял, а тебе phpMyAdmin выдает ошибку к примеру:
#1293 — Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause — и сразу решение этой проблемы, нужно добавить ‘0000-00-00 00:00:00’, пример: «
date
timestamp NOT NULL DEFAULT ‘0000-00-00 00:00:00’,»
И самое главное эта ошибка возникает из-за разных версий phpMyAdmin, потому у нас не остается выбора как взять и заменить данные внутри базы и не заниматься экспортом и импортом.
Замена текста в phpMyAdmin
Заходит в phpMyAdmin => выбираем нашу базу данных => заходим на вкладку SQL
Сейчас нам нужно ввести SQL запрос в таком формате:
1 |
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, 'Text to find', 'text to replace with'); |
Например вы хотите заменить в WordPress базе данных старый url сайта на новый, тогда Вам нужно выполнить следующий запрос:
1 |
update wp_posts set post_content = replace(post_content,'www.oldsite.com','www.newsite.com'); |
Нажимаем вперед
И если все правильно сделано, тогда получится следующий результат:
Достаточно простая функция, но в самый подходящий момент ее не найдешь =) Потому оставлю это здесь!