2017-04-13 110 views
6

在CQL(Cassandra)中是否存在“IF EXISTS UPDATE ELSE INSERT”命令?如果不是,执行这样一个查询的最有效的方法是什么?在CQL(Cassandra)中是否存在“IF EXISTS UPDATE ELSE INSERT”命令?

+1

通常你只使用一个更新插入。你能提供关于查询和用例的更多信息吗? http://mechanics.flite.com/blog/2013/11/01/how-to-do-an-upsert-in-cassandra/ –

+0

我正在存储一个分区密钥,一个集群密钥,然后一组想要添加到每个小时。但是,在添加到集合之前,我需要检查该行是否存在。是否可以使用更新来创建一个行?如果是这样,那么行的存在并不重要。 –

+0

分区密钥和集群密钥总是可以插入,如果已知可以插入它。你能否提供表格说明?还有一个插入语句,碰撞问题是什么, –

回答

3

基本上你应该使用更新。在cassandra中,与关系型世界相比,它们有着不同的机制,并且将作为隐含的插入操作。

答: Does an UPDATE become an implied INSERT