Решението на zerkms не работи за мен. Трябваше да посоча information_schema
база данни, за да може да прави заявка за Tables
таблица.
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';
Редактиране:
Оптимизирана заявката за извикване на RENAME TABLE само веднъж. Нещо, в което влязох, беше фактът, че конкатенираният изход беше съкратен на 341 знака. Това може да бъде решено (ако е позволено от вашия сървър) чрез задаване на променливата MySQL group_concat_max_len
на по-висока стойност:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.