cassandra,在NoSQL Manager for Cassandra
中想修改 字段date
的属性由date
改成 timestamp
可以看到异常信息是 Altering of types is not allowed
不仅仅是这个字段修改有问题,你会发现由很多字段的类型都是不可相互修改的,即使此时表为空,字段没有任何值的情况下,依然会有此异常信息。
解决方法一:
recommend_table
:表名
删除该字段,然后重新添加新的字段,此时可以字段可以修改成其他类型
1:先删除字段 date,执行成功
ALTER table recommend_table DROP date;
2:新增字段 date
,并修改类型为 timestamp
ALTER TABLE recommend_table ADD date timestamp;
异常信息如下
[Error] Line 34: Cannot re-add previously dropped column 'date' of type timestamp, incompatible with previous type date
所以该方法不可行
解决方法二:
删除表,然后重新创建表结构,对于这种方式,空表是可以,但是你表中有数据怎么办?
所以说,cassandra不支持随意更改字段类型
可以查看stack flow上的回答
cassandra-altering-of-types-is-not-allowed
其中提到了一个
CQL type compatibility
也就是说已经定义好的表结构,字段类型不能随意更改,能够更改的类型其中已经显示出来了。