2013-08-16 65 views
0

有沒有辦法撤銷一個columnfamily更新命令?我試圖更新一列,但結束了「更新columnfamily dev;」,現在我查看時只能看到id。但是如果我運行nodetool狀態,數據似乎就存在那裏。我試圖恢復快照,但即使這樣也沒有幫助。撤銷卡桑德拉意外更新

回答

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 | [email protected] | User0 
054a43d0-072e-11e3-a1c4-97db6b0653ce | [email protected] | User1 
0aa71920-072e-11e3-a1c4-97db6b0653ce | [email protected] | User3 
07fda400-072e-11e3-a1c4-97db6b0653ce | [email protected] | 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;