11insert.mql 2.9 KB

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