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;
是的,我们已经添加了一个文档票据来跟踪这个并且文档应该相应地更新。谢谢。
您好,我正在使用 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;
是的,我们已经添加了一个文档票据来跟踪这个并且文档应该相应地更新。谢谢。