zerkms lösning fungerade inte för mig. Jag var tvungen att ange information_schema
databas för att kunna fråga Tables
bord.
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';
Redigera:
Optimerade frågan för att bara anropa RENAME TABLE en gång. Något jag kom in på var det faktum att den sammanlänkade utdatan blev trunkerad till 341 tecken. Detta kan lösas (om det tillåts av din server) genom att ställa in MySQL-variabeln group_concat_max_len
till ett högre värde:
SET group_concat_max_len = 3072; -- UTF8 assumes each character will take 3 bytes, so 3072/3 = 1024 characters.