Saltar al contenido

¿Cómo puedo cambiar los prefijos en todas las tablas en mi base de datos MySQL?

Nuestro equipo de trabajo ha estado largas horas investigando la resolución a tus búsquedas, te ofrecemos la resolución y nuestro objetivo es resultarte de gran ayuda.

La solución de zerkms no funcionó para mí. tenia que especificar el information_schema base de datos para poder consultar Tables mesa.

SELECT 
    CONCAT('RENAME TABLE ', GROUP_CONCAT('`', TABLE_SCHEMA, '`.`', TABLE_NAME, '` TO `', TABLE_SCHEMA, '`.`prefix_', TABLE_NAME, '`')) AS q
FROM 
    `information_schema`.`Tables` WHERE TABLE_SCHEMA='test';

Editar:

Optimicé la consulta para llamar a RENAME TABLE solo una vez. Algo en lo que me encontré fue el hecho de que la salida concatenada se truncó en 341 caracteres. Esto se puede resolver (si su servidor lo permite) configurando la variable MySQL group_concat_max_len a un valor mayor:

SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.

escriba un script que ejecute RENAME TABLE para cada tabla.

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

donde se espera “prueba” nombre de la base de datos

después de esto, puede realizar una consulta larga que agregará prefijos si la ejecuta 😉

PhpMyAdmin le permite hacer esto ahora. En el nivel “Base de datos”, seleccione la pestaña Estructura para ver todas las tablas. Haga clic en ‘comprobar todo’ (debajo de la lista de la tabla). En el menú desplegable ‘Con seleccionado’, elija: ‘Reemplazar tabla prefix’.

Puntuaciones y comentarios

Finalizando este artículo puedes encontrar las notas de otros administradores, tú asimismo eres capaz insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *