有没有办法撤销columnfamily update命令?我试图更新一个列,但结果是“更新columnfamily dev;”,现在我只查询了我查询时的ID。但是如果我运行nodetool状态,那么数据似乎存在于那里。我试图恢复快照,但即使这样也无济于事。
答案 0 :(得分:1)
因此,如果我找到你,你已经删除了你的列元数据,你现在可以得到这样的结果:
cqlsh:test> select * from user;
uuid
--------------------------------------
fd24b190-072d-11e3-a1c4-97db6b0653ce
054a43d0-072e-11e3-a1c4-97db6b0653ce
0aa71920-072e-11e3-a1c4-97db6b0653ce
07fda400-072e-11e3-a1c4-97db6b0653ce
虽然你想要这样的东西:
uuid | email | name
--------------------------------------+----------------------+-------
fd24b190-072d-11e3-a1c4-97db6b0653ce | user0@somedomain.com | User0
054a43d0-072e-11e3-a1c4-97db6b0653ce | user1@somedomain.com | User1
0aa71920-072e-11e3-a1c4-97db6b0653ce | user3@somedomain.com | User3
07fda400-072e-11e3-a1c4-97db6b0653ce | user2@somedomain.com | User2
您可以通过添加有关列的信息来获取数据。
鉴于原始表的定义如下:
CREATE TABLE user(
uuid timeuuid PRIMARY KEY,
name varchar,
email varchar
);
您可以使用CQL添加缺少的列信息:
cqlsh:test> ALTER TABLE user ADD email varchar;
cqlsh:test> ALTER TABLE user ADD name varchar;