cassandra batch语句插入相同的值,但只有一列不匹配
我有一个批插入语句 假设我有一个查询:cassandra batch语句插入相同的值,但只有一列不匹配,cassandra,Cassandra,我有一个批插入语句 假设我有一个查询: BEGIN BATCH INSERT INTO abc (col1,col2,col3,col4) VALUES (1,'xyz',99,632); INSERT INTO abc (col1,col2,col3,col4) VALUES (1,'xyz',79,632); APPLY BATCH; 它只是插入第一条语句,而不是插入第二条语句中的值 注意:col1是集群键,col4是分区键 如何确保最后一条insert语句保存在db中?我在这里回答了一个
BEGIN BATCH
INSERT INTO abc (col1,col2,col3,col4) VALUES (1,'xyz',99,632);
INSERT INTO abc (col1,col2,col3,col4) VALUES (1,'xyz',79,632);
APPLY BATCH;
它只是插入第一条语句,而不是插入第二条语句中的值
注意:col1是集群键,col4是分区键
如何确保最后一条insert语句保存在db中?我在这里回答了一个类似的问题: 基本上,您不能在批处理语句中强制执行任何操作顺序(除非强制写入时间戳)。如果
col1
和col4
确实是您的键,那么您应该只希望写入一行(因为它们具有相同的键值,并且Cassandra中的主键是唯一的)。所以看起来你的第一句话一定是“赢”了每次“最后一篇文章赢”的比赛
此外,批处理语句设计用于将相同的数据以原子方式写入多个表。它们的设计并不是为了支持将不同的数据写入同一个表。在本例中,您正在将新的col2
和col3
值写入同一个主键,因此我不确定您在这里想要完成什么
也就是说,如果79确实是col3
中所需的值,其中col4=632
和col1=1
,那么为什么还要麻烦将99写入col3