Du kan skapa en dynamisk SQL-sats och köra den:
SET @tablename = 'MyTable';
SELECT @query := CONCAT('RENAME TABLE `', @tablename, '` TO `',
CURDATE(), @tablename, '`');
PREPARE STMT FROM @query;
EXECUTE STMT;
curdate()
funktion returnerar det aktuella datumet som sträng i formatet yyyy-MM-dd
.
P.S. Du kan inte köra flerradssatser som detta från frågeläsaren, men du kan lägga dem i en fil (till exempel kallad commandfile.sql
) och kör dem som:
mysql -u <user> -p<password> <dbname> < commandfile.sql