Найти и заменить данные базы данных таблицей Google? - PullRequest
0 голосов
/ 05 июня 2018

У нас очень большая база данных Wordpress с сотнями сообщений.

У нас есть электронная таблица Google с тысячами ссылок, которые необходимо заменить новыми ссылками.Каждая ссылка уникальна.Это электронная таблица из двух столбцов, первый столбец - ссылка, которую необходимо заменить, второй столбец - новая ссылка.Эта таблица состоит из тысяч строк, поэтому мы пытаемся найти способ автоматизации.

Поскольку каждая ссылка уникальна, выражение регулярного выражения не будет работать.Есть ли способ найти и заменить в нашей базе данных, используя электронную таблицу в качестве руководства?

Большое спасибо!

1 Ответ

0 голосов
/ 05 июня 2018

Пример базового запроса MySQL для поиска / замены, используемого в инструменте базы данных, таком как PHPMyAdmin или Adminer, выглядит следующим образом:

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');

, который ищет точную строку старого URL и заменяет ее новойURL, только в таблице wp_posts.(Вам также может понадобиться выполнить поиск в wp_postmeta и таблицах параметров).

Вы можете использовать инструменты текстового редактора или электронную таблицу, чтобы превратить все ваши изменения в список запросов UPDATE и запустить их.Поскольку все URL-адреса уникальны, это может быть единственным вариантом.

Протестируйте несколько, прежде чем запускать их все.Сделайте резервную копию вашей базы данных и выполните запросы к копии сайта.Выполнение всех запросов одновременно может привести к тайм-ауту PHP или MySQL и уничтожить ваш сервер.

Вероятно, хорошей идеей будет сначала очистить базу данных пост-ревизий Wordpress, потому что, если у вас сотни постов, запрос также обработает их.и выполнение всех запросов одновременно может привести к таймауту и ​​уничтожению сервера.

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

Затем оптимизировать все таблицы в инструменте базы данных.

...