Vous pouvez créer une instruction SQL dynamique et l'exécuter :
SET @tablename = 'MyTable';
SELECT @query := CONCAT('RENAME TABLE `', @tablename, '` TO `',
CURDATE(), @tablename, '`');
PREPARE STMT FROM @query;
EXECUTE STMT;
Le curdate()
La fonction renvoie la date actuelle sous forme de chaîne au format yyyy-MM-dd
.
PS Vous ne pouvez pas exécuter d'instructions multilignes comme celle-ci à partir du navigateur de requêtes, mais vous pouvez les placer dans un fichier (par exemple appelé commandfile.sql
) et exécutez-les comme :
mysql -u <user> -p<password> <dbname> < commandfile.sql