【发布时间】:2019-05-12 05:12:23
【问题描述】:
我需要将我的 TABLE 更改计数器列更改为 int。
删除和添加前的表格:
CREATE TABLE <table_name> (
id text PRIMARY KEY,
questions_asked counter);
为了做到这一点,我首先尝试删除计数器列:
ALTER TABLE <table_name> DROP questions_asked;
比我尝试添加具有相同名称但这次为 int 的新列:
ALTER TABLE <table_name> ADD questions_asked int;
我收到以下错误:
InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="无法重新添加以前删除的计数器列 questions_asked”
此外,如果我尝试为该列指定新名称,则会出现此错误:
ConfigurationException:无法添加非计数器列 (question_asked) 在计数器列族中
如果我将在具有不同类型的列上执行此序列 - 假设更改放置文本并添加 int 它将正常工作。
这种行为的解释是什么? 为什么计数器列下垂后似乎还在记忆中?
【问题讨论】:
-
切向相关:issues.apache.org/jira/browse/CASSANDRA-14843 DS 似乎并没有修复错误,而是验证导致错误的条件没有发生。
标签: cassandra alter-table cqlsh