【问题标题】:Deleting all rows from Cassandra cql table [duplicate]从Cassandra cql表中删除所有行[重复]
【发布时间】:2014-10-18 10:47:59
【问题描述】:

cassandra 中的 cql 表中存在的所有行是否都有一个命令,就像 sql 中的一样?

delete from TABLE

按照文档,我没有找到任何方法可以在没有 where 条件的情况下执行删除操作。

DELETE col1 FROM SomeTable WHERE userID = 'some_key_value'; 

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    要从 CQL 表中删除所有行,您可以使用 TRUNCATE 命令:

    TRUNCATE keyspace_name.table_name;
    

    或者,如果您已经在使用包含目标表的键空间:

    TRUNCATE table_name;
    

    需要注意,但默认情况下,Cassandra 会在 TRUNCATE 之前创建表的快照。请务必清理旧快照,或在您的 cassandra.yaml 中设置 auto_snapshot: false

    【讨论】:

    • 如何在不创建快照和编辑 cassandra 配置的情况下删除所有行?
    • @Vinigas 这些限制有点困难,因此从 keyspace/table 目录中删除 SSTable 文件可能是您唯一的选择。更安全的路径可能是到TRUNCATE,然后运行nodetool clearsnapshot
    猜你喜欢
    • 2020-10-05
    • 2012-11-19
    • 1970-01-01
    • 2011-12-20
    • 2015-01-22
    • 2011-10-09
    • 1970-01-01
    • 2010-11-05
    • 2020-12-06
    相关资源
    最近更新 更多