12conflict_update.mql 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. -- ============================================================
  2. -- On Conflict Update 测试
  3. -- ============================================================
  4. -- 1. 条件更新
  5. 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
  6. ;
  7. -- 首次插入,c_count=1
  8. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
  9. /**
  10. output()
  11. match("c_count","1")
  12. **/
  13. ;
  14. -- 2. 再次冲突更新 c_count 应累加
  15. 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
  16. ;
  17. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
  18. /**
  19. output()
  20. match("c_count","2")
  21. **/
  22. ;
  23. -- 3. 多字段 conflict update
  24. 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
  25. ;
  26. -- 首次
  27. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
  28. /**
  29. output()
  30. **/
  31. ;
  32. -- 再次冲突
  33. 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
  34. ;
  35. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
  36. /**
  37. output()
  38. match("c_count","11")
  39. **/
  40. ;