您好我正在使用SnappyData并尝试使用Table_A
中的行更新Table_B
:
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本地模式,我只是尝试了群集模式并遇到了一些错误here(奇怪的是它没有在本地模式下抛出错误,而是它只是无法正常工作。)< / p>
答案 0 :(得分:2)
你只需要在put into语句中提供table_a架构 - 所以它应该是:snappy&gt;放入table_a(key1,val)select * from table_b;
答案 1 :(得分:1)
是的,我们添加了一个doc票据来跟踪这个,并且应该相应地更新文档。感谢。