Solución:
La solución zerkms no funcionó para mí. Tuve que especificar el information_schema
base de datos para poder consultar el 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:
Optimizó la consulta para llamar solo a RENAME TABLE una vez. Algo en lo que entré fue en 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 más alto:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.
escriba un script que ejecutará 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 “prueba” es el nombre de la base de datos esperado
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 seleccionados’, elija: ‘Reemplazar prefijo de tabla’.