在cassandra中更改列类型时出错

时间:2017-10-21 09:08:03

标签: cql3 cassandra-3.0

This link详细说明了转化的兼容类型 应该可以从int转换为blob,但不是

CREATE TABLE test (id text PRIMARY KEY,created int);
ALTER TABLE test ALTER created TYPE blob;
  

InvalidRequest:来自服务器的错误:代码= 2200 [无效查询] message =“不允许更改类型”

这里有什么我想念的 在cassandra中是否可以进行任何类型的转换?

2 个答案:

答案 0 :(得分:1)

如果你考虑cql兼容性列表here,你会看到blob可以改为成为一个int而不是相反,ALTER似乎是相当严格的。 我担心最好的解决方案是创建一个新表......

答案 1 :(得分:1)

是的,很遗憾,您仅限于可以更改为哪种类型的列。您也不能删除该列并重新添加为具有不同类型的相同副本。

有两种解决方法:删除表并重新创建,或删除列并使用新名称重新创建。

符合Cassandra 3.11.5。