在 Cassandra 中,静态字段在分区键下是静态的。
示例:让我们定义一个表
CREATE TABLE static_test (
pk int,
ck int,
d int,
s int static,
PRIMARY KEY (pk, ck)
);
Run Code Online (Sandbox Code Playgroud)
这里 pk 是分区键,ck 是聚类键。
让我们插入一些数据:
INSERT INTO static_test (pk , ck , d , s ) VALUES ( 1, 10, 100, 1000);
INSERT INTO static_test (pk , ck , d , s ) VALUES ( 2, 20, 200, 2000);
Run Code Online (Sandbox Code Playgroud)
如果我们选择数据
pk | ck | s | d
----+----+------+-----
1 | 10 | 1000 | 100
2 | 20 | 2000 | 200
Run Code Online (Sandbox Code Playgroud)
这里对于分区键 pk = 1 静态字段 s 值为 1000,对于分区键 pk = 2 静态字段 s 值为 2000
如果我们插入/更新分区键 pk = 1 的静态字段 s 值
INSERT INTO static_test (pk , ck , d , s ) VALUES ( 1, 11, 101, 1001);
Run Code Online (Sandbox Code Playgroud)
然后静态字段 s 值将更改为分区键 pk = 1 的所有行
pk | ck | s | d
----+----+------+-----
1 | 10 | 1001 | 100
1 | 11 | 1001 | 101
2 | 20 | 2000 | 200
Run Code Online (Sandbox Code Playgroud)