gpt4 book ai didi

clickhouse - 更改 Clickhouse 中表中的列名称

转载 作者:行者123 更新时间:2023-12-02 14:47:08 24 4
gpt4 key购买 nike

有什么方法可以更改表并更改 clickhouse 中的列名称吗?我只发现更改了表名称,但没有以直接的方式更改单个列。

谢谢。

最佳答案

该功能已推出here进入 v20.4。

ALTER TABLE table1 RENAME COLUMN old_name TO new_name

您还可以重命名多个列:

ALTER TABLE table1 
RENAME COLUMN old_name1 TO new_name1,
RENAME COLUMN old_name2 TO new_name2
<小时/>

旧答案:

ClickHouse 尚无该功能。

Implementation is not trivial, because ALTERs that changing columns are processed outside of usual replication queue, and adding rename without reworking of ALTERs will introduce race conditions in replicated tables.

https://github.com/yandex/ClickHouse/issues/146#issuecomment-255631384

正如@Slash所说,现在的解决方案是创建新表并

INSERT INTO `new_table` SELECT * FROM `old_table`
<小时/>

不要忘记列别名在那里不起作用(AS)。

INSERT INTO `new_table` SELECT a, b AS c, c AS b FROM `old_table`

仍然会将 a 插入第一列,将 b 插入第二列,将 c 插入第三列。 AS 在那里没有任何作用。

关于clickhouse - 更改 Clickhouse 中表中的列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47349878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com