CQL检查记录是否存在

Jim*_*did 8 cql cassandra

我正在学习Cassandra,以及CQL和SQL的差异,但我注意到没有办法检查Cassandra是否存在记录.目前,我有最好的方法是使用

SELECT primary_keys FROM TABLE WHERE primary_keys = blah, 
Run Code Online (Sandbox Code Playgroud)

并检查结果集是否为空.有没有更好的方法来做到这一点,或者我现在有正确的想法?

Nik*_*kov 12

使用count将使其遍历所有匹配的行,以便能够对它们进行计数.但是你只需要检查一个,所以只需限制并返回任何内容.然后解释结果的存在true和缺席 - 如false.例如,

SELECT primary_keys FROM TABLE WHERE primary_keys = blah LIMIT 1
Run Code Online (Sandbox Code Playgroud)

  • 如果在查询中包含所有主键列,那么不可能有多个结果? (5认同)

Jim*_*yer 10

这是Cassandra检查行是否存在的常用方法.如果您关心的是行是否存在,您可能不想返回所有主键,因此您可以这样做:

SELECT count(*) FROM TABLE WHERE primary_keys = blah, 
Run Code Online (Sandbox Code Playgroud)

如果行存在则返回1,如果不存在则返回0.