0

有没有办法撤销列族更新命令?我试图更新一个列,但最终得到“更新列族开发;”现在我在查询时只看到 ID。但是如果我运行 nodetool 状态,数据似乎存在。我试图恢复快照,但即使这样也无济于事。

4

1 回答 1

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;
于 2013-08-17T11:34:41.060 回答