mysql(5.1)>从变量创建名称的表 [英] mysql (5.1) > create table with name from a variable
本文介绍了mysql(5.1)>从变量创建名称的表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建一个基于当前年份和月份( 2011-09
)的名称的表,但是MySQL似乎并不喜欢这样。
I'm trying to create a table with a name based on the current year and month(2011-09
), but MySQL doesn't seem to like this.
SET @yyyy_mm=Year(NOW())+'-'+Month(NOW());
CREATE TABLE `survey`.`@yyyy_mm` LIKE `survey`.`interim`;
SHOW TABLES IN `survey`;
+-----------+
| interim |
+-----------+
| @yyyy_mm |
+-----------+
如果我做 CREATE TABLE;
没有在 @yyyy_mm
之间的勾号,我得到一个通用的语法错误。
If I do CREATE TABLE;
without the ticks around @yyyy_mm
, I get a generic syntax error.
@yyyy_mm
解析为 2020
。
推荐答案
你应该可以这样做:
SET @yyyy_mm=DATE_FORMAT(now(),'%Y-%m');
SET @c = CONCAT('CREATE TABLE `survey`.`',@yyyy_mm, '` LIKE `survey`.`interim`');
PREPARE stmt from @c;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
这篇关于mysql(5.1)>从变量创建名称的表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文