La soluzione zerkms non ha funzionato per me. Ho dovuto specificare lo information_schema
database per poter interrogare le Tables
tabella.
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';
Modifica:
Ottimizzata la query per chiamare RENAME TABLE solo una volta. Qualcosa in cui sono entrato è stato il fatto che l'output concatenato è stato troncato a 341 caratteri. Questo può essere risolto (se consentito dal tuo server) impostando la variabile MySQL group_concat_max_len
a un valore superiore:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.