nosql

cassandra 2.0(CQL 3.0/ CQLSH)에서 row 모두를 delete 하기 (delete all rows)

'김용환' 2013. 10. 30. 16:20


cassandra 2.0.1을 사용중이다. 


'delete from tablename' 하면 실행이 되지 않고 다음과 같은 에러가 발생한다. delete는 index가 걸려있는 column에만 사용할 수 있다. 즉, where절을 써야 한다. 


Exception in thread "main" java.sql.SQLSyntaxErrorException: line 0:-1 mismatched input '<EOF>' expecting K_WHERE



따라서 delete all rows 의 의도를 갖는 cql 질의는 "truncate table_name"이 되어야 한다.

delete 쿼리는 where절을 이용해서 row와 index가 걸린 column을 이용할때 사용하면 될 듯 하다. 


(Hector에서는 Cluster에 truncateColumnFamily 메소드를 제공하고 있다.)