是否有可能以某种方式在MYSQL重命名表()中使用NOW()函数或类似的东西?
我需要这个的原因是因为我们不是直接删除旧表,而是首先重命名为old_ date-table-was-taken-ouf-of-use _ table_name所以当我们实际删除它,我们知道桌子已经“不可用”了多长时间
答案 0 :(得分:7)
您可以创建动态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