řešení zerkms mi nefungovalo. Musel jsem zadat information_schema
databáze, aby bylo možné dotazovat se Tables
tabulka.
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';
Upravit:
Optimalizovaný dotaz tak, aby volal RENAME TABLE pouze jednou. Něco, do čeho jsem šel, byla skutečnost, že zřetězený výstup byl zkrácen na 341 znaků. To lze vyřešit (pokud to váš server umožňuje) nastavením proměnné MySQL group_concat_max_len
na vyšší hodnotu:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.