Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cassandra batch语句插入相同的值,但只有一列不匹配_Cassandra - Fatal编程技术网

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