clickhouse修改列名报错:Exception: Trying to ALTER RENAME key xx column which is a part of key expression

目录

修改列名的语句:

问题描述:

原因:

解决:

总结:

备注:


修改列名的语句:

alter table smp_app.cust_theme_01 RENAME COLUMN cust_id to cust_nm; 

问题描述:

ck修改表中的列名报错: 

SQL 错误 [524]: ClickHouse exception, code: 524, host: 10.30.202.21, port: 8123; Code: 524, e.displayText() = DB::Exception: Trying to ALTER RENAME key cust_id column which is a part of key expression (version 20.8.3.18)

原因:

查资料发现,ck在v20.4.2.9,2020-05-12版本以后就支持修改列名了。为啥我这还报错呢?

再查下建表语句:

 CREATE TABLE smp_app.cust_theme_01
(
    `etl_dt` Date COMMENT '数据处理日期',
    `cust_id` String COMMENT '客户证件号码',
	......
    `ld2107010894` Nullable(String) COMMENT '单变量01',
    `ld2107010896` Nullable(String) COMMENT '多标签01'
)
ENGINE = MergeTree()
ORDER BY cust_id
SETTINGS index_granularity = 8192

解决:

发现要修改的列名为排序字段。

找到问题所在!

总结:

修改列名时不可修改ORDER BY的字段。 

备注:

本地表修改列名语句:

ALTER TABLE visits RENAME COLUMN webBrowser TO browser

分布式表修改列名语句:

ALTER TABLE visits on cluster shipin_cluster RENAME COLUMN webBrowser TO browser

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据架构师Pony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值