为什么在Cassandra中无法更改列类型?

3duebb1j  于 2022-11-05  发布在  Cassandra
关注(0)|答案(2)|浏览(165)

此链接详细说明了要转换的兼容类型
从int转换为blob应该是可能的,但它不是

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

无效请求:来自服务器的错误:code=2200 [无效查询] message=“不允许更改类型”
这里有我遗漏的东西吗?在cassandra中有没有可能的类型转换?

xghobddn

xghobddn1#

如果你考虑一下这里的cql兼容性列表,你会发现blob可以被修改为int,但不能相反,ALTER似乎有很大的限制。恐怕最好的解决方案是创建一个新的表...

u3r8eeie

u3r8eeie2#

是的,不幸的是,您只能更改列的类型。您也不能删除该列,然后重新添加为具有不同类型的相同副本。
有两种方法可以解决这个问题:请卸除数据表并重新建立,或卸除数据行并以新名称重新建立。
更正为 cassandra 3.11.5.

相关问题