【问题标题】:Failing to rename a column involved in partition in MySQLMySQL分区中涉及的列重命名失败
【发布时间】:2020-05-13 12:23:33
【问题描述】:

我创建了一个包含以下查询的表。 CREATE table IF NOT EXISTS result(id varchar(255) not null, product varchar(255), prodcount int, searched_at datetime default CURRENT_TIMESTAMP, primary key (id, product, searched_at)) 按哈希分区(yearweek(searched_at))

现在我需要将 searched_at 的列名更改为 created_at。使用 AlterTable 命令时,出现以下错误: “错误:ER_BAD_FIELD_ERROR:‘分区函数’中的未知列‘searched_at’” MySQL 中似乎已经出现了一个 bug:https://bugs.mysql.com/bug.php?id=85413 这个问题有解决办法吗?

【问题讨论】:

  • 删除分区、重命名、添加分区

标签: mysql partitioning typeorm alter-table


【解决方案1】:

好吧,你可能必须从ALTER TABLE table DROP PARTITIONING开始。

但是,我建议在此停止,除非修复索引。 PARITITION BY HASH() 可能有没有可行的用例。

听起来您可能正在搜索某个日期范围?如果是这样,BY HASH 将触及所有分区,因为据它所知,数据每年都会被打包。

请提供重要的查询;我会帮你重做索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2019-04-12
    相关资源
    最近更新 更多