11insert.mql 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. -- ============================================================
  2. -- Insert 操作测试
  3. -- ============================================================
  4. -- 1. 基本 insert - 插入所有类型字段
  5. insert into /test/aaa/test_basic (name, v_text, v_int, v_bigint, v_float, v_double, v_bool, v_ts, v_blob)
  6. values ('insert_001', 'hello world 测试数据', 100, 1234567890123456789, 3.14, 3.141592653589793, true, 1711641600000, 'hello')
  7. /**
  8. output()
  9. **/
  10. ;
  11. -- 2. 插入布尔值 false
  12. insert into /test/aaa/test_basic (name, v_text, v_int, v_float, v_double, v_bool)
  13. values ('insert_002', 'boolean false test', -50, -1.5, 0.0001, false)
  14. /**
  15. output()
  16. **/
  17. ;
  18. -- 3. 插入大整数边界值
  19. insert into /test/aaa/test_basic (name, v_text, v_int, v_bigint)
  20. values ('insert_003', 'bigint boundary', 2147483647, 9223372036854775807)
  21. ;
  22. -- 4. 插入负值
  23. insert into /test/aaa/test_basic (name, v_text, v_int, v_float, v_double)
  24. values ('insert_004', 'negative values', -999, -123.456, -9876543210.12345)
  25. ;
  26. -- 5. 插入零值
  27. insert into /test/aaa/test_basic (name, v_text, v_int, v_float, v_double, v_bool)
  28. values ('insert_005', 'zero values', 0, 0.0, 0.0, false)
  29. ;
  30. -- 6. 插入中文/特殊字符
  31. insert into /test/aaa/test_basic (name, v_text, v_int)
  32. values ('插入_006', '你好世界!特殊字符:@#$%^&*()_+-=[]{}|;:",.<>/?', 666)
  33. ;
  34. -- 7. 插入长文本
  35. insert into /test/aaa/test_basic (name, v_text, v_int)
  36. values ('insert_007', '这是一个很长的文本用于测试长字段存储能力。MQL 扩展测试框架支持 scope、loop、parallel 等多种高级特性,可以模拟真实生产环境中的复杂场景。', 777)
  37. ;
  38. -- 8. 批量插入多条数据
  39. insert into /test/aaa/test_basic (name, v_text, v_int)
  40. values ('batch_001', 'batch data 1', 1)
  41. ;
  42. insert into /test/aaa/test_basic (name, v_text, v_int)
  43. values ('batch_002', 'batch data 2', 2)
  44. ;
  45. insert into /test/aaa/test_basic (name, v_text, v_int)
  46. values ('batch_003', 'batch data 3', 3)
  47. ;
  48. insert into /test/aaa/test_basic (name, v_text, v_int)
  49. values ('batch_004', 'batch data 4', 4)
  50. ;
  51. insert into /test/aaa/test_basic (name, v_text, v_int)
  52. values ('batch_005', 'batch data 5', 5)
  53. ;
  54. -- 9. 插入带 timestamp 字段的数据
  55. insert into /test/aaa/test_basic (name, v_text, v_int, v_ts)
  56. values ('insert_ts_001', 'timestamp test', 1, 1700000000000)
  57. ;
  58. insert into /test/aaa/test_basic (name, v_text, v_int, v_ts)
  59. values ('insert_ts_002', 'timestamp future', 2, 1893456000000)
  60. ;
  61. -- 10. 插入 version 表数据
  62. insert into /test/aaa/test_basic_ver (name, value) values ('ver_001', 1)
  63. ;
  64. insert into /test/aaa/test_basic_ver (name, value) values ('ver_002', 2)
  65. ;
  66. -- 错误场景1: 插入重复主键(应先插入一条再重复插入)
  67. insert into /test/aaa/test_basic (name, v_int) values ('dup_key_test', 1)
  68. ;
  69. insert into /test/aaa/test_basic (name, v_int) values ('dup_key_test', 999)
  70. /**
  71. onerror(continue)
  72. **/
  73. ;
  74. -- 错误场景2: 缺少必填字段(keys中的字段)
  75. insert into /test/aaa/test_basic (v_int) values (123)
  76. /**
  77. onerror(continue)
  78. **/
  79. ;