我在cassandra前面的golang上有一个api服务器,所以我使用gocql作为驱动程序。如果有人试图在cassandra中创建重复的条目,我想返回一个错误,所以我不仅需要幂等运算(可以通过if not exists子句实现),而且还需要知道是否应用了查询。像select primary_keys from table where primary_keys=blah limit 1这样的初步请求不是一个选项,因为插入操作应该是原子的。
当我在cqlsh中运行下面的示例时,cassandra告诉我是否应用了查询:
cqlsh> create table tests.demo (
... uuid text PRIMARY KEY,
... data text
... );
cqlsh> insert into tests.demo (uuid, data) values ('test', 'data') if not exists;
applied
-----------
True
cqlsh> insert into tests.demo (uuid, data) values ('test', 'data') if not exists;
applied | uuid | data
-----------+------+------
False | test | data
因为query.exec()只返回错误,所以有没有任何选项可以用gocql实现同样的效果?
谢谢您!
暂无答案!
目前还没有任何答案,快来回答吧!