在MySQL中,我需要使用后缀来重命名一个表,该后缀可以标识上个月,并且我正在尝试使用以下语法:

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


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

问题在于concat命令。

我究竟做错了什么?

最好的祝福,

最佳答案

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

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

prepare s from @sql;

execute s;

关于mysql - 用concat重命名Mysql表名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30236515/

10-14 16:14