【问题标题】:Rename Mysql Table name with concat用 concat 重命名 Mysql 表名
【发布时间】:2015-07-26 00:30:34
【问题描述】:

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

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

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

问题在于 concat 顺序。

我做错了什么?

最好的问候,

【问题讨论】:

  • 您是否考虑在表格中添加日期列?如果您需要在超过四分之一的时间后在所有表格中搜索客户,我正在设想一场噩梦。
  • “concat 顺序有问题”是什么意思?你有什么错误吗?

标签: mysql rename concat


【解决方案1】:

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

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

prepare s from @sql;

execute s;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 2011-05-30
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多