锡拉也有类似的行为.
scylla@cqlsh:ks> CREATE TABLE cf (pk int PRIMARY KEY, my_counter counter);
scylla@cqlsh:ks> UPDATE cf SET my_counter = my_counter + 3 WHERE pk = 0;
scylla@cqlsh:ks> SELECT * FROM cf;
pk | my_counter
----+------------
0 | 3
(1 rows)
scylla@cqlsh:ks> UPDATE cf SET my_counter = 0 WHERE pk = 0;
InvalidRequest: Error from server: code=2200 [Invalid query] message="Cannot set the value of counter column my_counter (counters can only be incremented/decremented, not set)"
scylla@cqlsh:ks> UPDATE cf SET my_counter = my_counter - 3 WHERE pk = 0;
scylla@cqlsh:ks> SELECT * FROM cf;
pk | my_counter
----+------------
0 | 0
(1 rows)
请注意在try 直接设置值时出现的错误.
更多信息:
https://docs.scylladb.com/using-scylla/counters/#scylla-counters
https://docs.scylladb.com/getting-started/types/#counters
https://www.scylladb.com/2017/04/04/counters/