mysql - MySQL 创建表并将当前日期附加到表名
问题描述
我希望运行一个创建表语句,但根据当前时间戳为其命名。我需要表的名称类似于以下内容:2020_07_23_new_table
我认为这样的事情会起作用,但我不确定这是否是最佳做法:
CREATE TABLE IF NOT EXISTS CONCAT(DATE_FORMAT(NOW(),'%y_%m_%d'), '_new_table') LIKE old_table
);
有没有办法在 MySQL 中实现这一点?
解决方案
是的,您可以使用动态查询。像下面的东西。
SET @SQL = CONCAT('CREATE TABLE IF NOT EXISTS ', DATE_FORMAT(NOW(),'%Y_%m_%d'), '_new_table LIKE OLD_TABLE');
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
推荐阅读
- powerquery - 用电量查询填补时间空白
- c# - 如何更新 Word 文档中的正文和超链接
- angular - 如何在从 col-12 更改为 col-9 时向 css 中的 div 添加过渡效果?
- websocket - 向命名空间的 Socket.io 房间发出广播
- reporting-services - How to not COUNT a value in SSRS matrix when value is NULL
- c++ - 如何在 QStandardItemModel 中查找一行
- powerbi - 一列中有重复值,第二列中有不同值的行
- jquery - (Fullcalendar) 使用后端信息自动点击天数
- jquery - 一定时间后更改加载微调器的内容而不刷新页面
- python-3.x - 如何将参数从一个函数传递给其他函数?