Możesz utworzyć dynamiczną instrukcję SQL i wykonać ją:
SET @tablename = 'MyTable';
SELECT @query := CONCAT('RENAME TABLE `', @tablename, '` TO `',
CURDATE(), @tablename, '`');
PREPARE STMT FROM @query;
EXECUTE STMT;
curdate()
funkcja zwraca bieżącą datę jako ciąg znaków w formacie yyyy-MM-dd
.
PS Nie można wykonać takich instrukcji wielowierszowych z przeglądarki zapytań, ale można je umieścić w pliku (na przykład o nazwie commandfile.sql
) i uruchom je tak:
mysql -u <user> -p<password> <dbname> < commandfile.sql