SnappyData SQL PUT INTO 不更新值

SnappyData SQL PUT INTO not updating values

您好,我正在使用 SnappyData 并尝试使用来自 Table_B:

的行更新 Table_A
Table_A(key1, key2, val, primary key(key1, key2)) -- cumulative results
Table_B(key1, key2, val, primary key(key1, key2)) -- new rows - updates

因为 Table_B 将包含 Table_A 中已经存在的 (key1, key2) 值,并且应该替换 Table_A 中的值。所以我使用“PUT INTO”而不是 "INSERT INTO" 语句来更新存储在 Table_A

中的累积结果

我的 PUT INTO 语句如下所示:

PUT INTO Table_A
SELECT * from Table_B

但是 Table_B 中的行没有出现在 Table_A 中。

但是,如果我直接插入值:

PUT INTO Table_A
VALUES (1, 1, 1)

第 (1, 1, 1) 行确实出现在 Table_A 中。如果我使用 INSERT:

INSERT INTO Table_A
SELECT * from Table_B

Table_B 中的行显示在 Table_A 中,直到出现重复密钥错误并且我的程序退出。

我尝试了单列主键(即 key1),但还是不行。

那么我做错了什么?还是 "PUT INTO" 不工作或 "PUT INTO" 语句有延迟?

更新:

我正在使用 SnappyData 本地模式,我刚刚尝试了集群模式并遇到了一些错误(奇怪的是它不会在本地模式下抛出错误,相反它只是没有静默工作。)

您只需要在 put into 语句中提供 table_a 模式 - 所以它应该是:snappy> put into table_a (key1, val) select * from table_b;

是的,我们已经添加了一个文档票据来跟踪这个并且文档应该相应地更新。谢谢。