【发布时间】:2018-07-25 10:48:35
【问题描述】:
在迭代新功能时,我的团队在我们的 DSE 数据库中创建了一个列表列。我们现在希望它是一个集合列。我删除了该列并再次将其创建为一个设置列并收到此错误:
ALTER TABLE sometable DROP somecolumn;
ALTER TABLE sometable ADD somecolumn set<text>;
InvalidRequest:来自服务器的错误:code=2200 [Invalid query] message="无法添加名称为integrations的集合,因为过去已经使用了具有相同名称和不同类型(列表)的集合"
列中甚至没有任何数据。没有某种硬删除覆盖吗?我们可以更改名称,但我真的不喜欢如果有人尝试使用它就不起作用的名称的想法。我必须重新制作整张桌子吗?
【问题讨论】:
-
表中还有其他数据吗?
-
不幸的是,是的。我需要迁移它,这是关键数据。
-
用不同的名称创建一个列。您不能只使用相同的名称创建,因为旧的 sstables 是不可变的,数据可能仍然存在。
标签: cassandra nosql datastax cql datastax-enterprise