Вы можете создать динамический оператор SQL и выполнить его:
SET @tablename = 'MyTable';
SELECT @query := CONCAT('RENAME TABLE `', @tablename, '` TO `',
CURDATE(), @tablename, '`');
PREPARE STMT FROM @query;
EXECUTE STMT;
Функция curdate()
возвращает текущую дату в виде строки в формате yyyy-MM-dd
.
P.S. Вы не можете выполнять многострочные операторы, подобные этой, из браузера запросов, но вы можете поместить их в файл (например, с именем commandfile.sql
) и запустить их следующим образом:
mysql -u <user> -p<password> <dbname> < commandfile.sql