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 메소드를 제공하고 있다.)