用concat重命名Mysql表名

时间:2015-05-14 11:43:32

标签: mysql rename concat

在MySQL中,我需要重命名一个带有后缀的表,该后缀表示上个月,我正在尝试使用这种语法:

RENAME TABLE 'myTable' TO CONCAT('myTable',DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y_%m'));

F.e:我的表名为“customers”,我想要的是“customer_2015_04”。

问题在于连续顺序。

我做错了什么?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:2)

我认为您需要使用准备好的声明来执行此操作:

set @sql = CONCAT('RENAME TABLE myTable TO myTable',
                  DATE_FORMAT(CURRENT_DATE - INTERVAL 1 MONTH, '%Y_%m')
                 );

prepare s from @sql;

execute s;