Как я могу изменить префиксы во всех таблицах в моем MySQL DB?

Мой поставщик установил на моем сайте Drupal CMS. Теперь я должен скопировать все свои данные из старого сайта. У меня есть таблицы без префиксов в моем старом DB, но в новом DB все таблицы имеют dp_[table_name] префикс.

24
задан Brian Tompsett - 汤莱恩 27 May 2017 в 11:34
поделиться

2 ответа

Вы можете просто создать дамп базы данных, открыть дамп в текстовом редакторе, заменить все вхождения «CREATE TABLE» на «CREATE TABLE dp_» и восстановить база данных. На это уйдет пара минут.

4
ответ дан 28 November 2019 в 22:34
поделиться

напишите скрипт, который будет выполнять RENAME TABLE для каждой таблицы.

SELECT 
  GROUP_CONCAT('RENAME TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`;' SEPARATOR ' ')
FROM 
  `TABLES` WHERE `TABLE_SCHEMA` = "test";

где "test" - предполагаемое имя базы данных

после этого вы можете сделать длинный запрос, который будет добавлять префиксы, если вы его выполните ;-)

21
ответ дан 28 November 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: