【发布时间】:2016-04-13 10:00:19
【问题描述】:
为了尽量减少查询次数,我在我的应用程序中只使用了 UPDATE 方法:
UPDATE lp_registry.domain SET dr = ?, ud = dateOf(now()) WHERE d1 = ? AND d2 = ? AND d3 = ?
如果具有对应主键 d1,d2,d3 的行不存在,则会自动创建它,这就是我想要的。
但我还想知道该行是否已插入或更新。我在cassandra documentation 中阅读了有关 IF EXIST 和“应用”结果的信息。然而这个:
UPDATE lp_registry.domain SET dr = ?, ud = dateOf(now()) WHERE d1 = ? AND d2 = ? AND d3 = ? IF EXISTS
如果该行不存在,则不会执行操作。
有没有什么方法可以在没有 (SELECT 和 (INSERT or UPDATE)) 的情况下执行 UPSERT 并跟踪行的插入或更新?
【问题讨论】: