-- ============================================================ -- On Conflict Update 测试 -- ============================================================ -- 1. 条件更新 insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_001', 100, 1) on conflict update c_value=200, c_count=c_count+1 ; -- 首次插入,c_count=1 select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001' /** output() match("c_count","1") **/ ; -- 2. 再次冲突更新 c_count 应累加 insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_001', 300, 5) on conflict update c_value=c_value, c_count=c_count+c_count ; select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001' /** output() match("c_count","2") **/ ; -- 3. 多字段 conflict update insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_002', 100, 1) on conflict update c_value=c_value+c_value, c_count=c_count+10 ; -- 首次 select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002' /** output() **/ ; -- 再次冲突 insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_002', 200, 5) on conflict update c_value=c_value+c_value, c_count=c_count+10 ; select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002' /** output() match("c_count","11") **/ ;