-- ============================================================ -- Update 更新操作测试 -- ============================================================ -- 1. 基本 update - 更新单个字段 update /test/aaa/test_basic set v_int=200 where name='insert_001' /** output() count(1) **/ ; -- 验证更新结果 select name, v_int from /test/aaa/test_basic where name='insert_001' /** output() match("v_int","200") **/ ; -- 2. 更新多个字段 update /test/aaa/test_basic set v_text='updated text', v_bool=false where name='insert_001' /** output() count(1) **/ ; select name, v_text, v_bool from /test/aaa/test_basic where name='insert_001' /** output() match("v_text","updated text") match("v_bool","false") **/ ; -- 3. 更新 float/double 字段 update /test/aaa/test_basic set v_float=9.99, v_double=99.999999 where name='insert_002' ; select name, v_float, v_double from /test/aaa/test_basic where name='insert_002' /** output() **/ ; -- 4. 更新不存在的记录(影响0行) update /test/aaa/test_basic set v_int=999 where name='non_exist_key_update' /** output() count(0) **/ ; -- 5. 更新 version 表 update /test/aaa/test_basic_ver set value=100 where name='ver_001' ; select name, value from /test/aaa/test_basic_ver where name='ver_001' /** output() match("value","100") **/ ; -- 6. 批量更新 update /test/aaa/test_basic set v_int=10 where name='batch_001' ; update /test/aaa/test_basic set v_int=20 where name='batch_002' ; select name, v_int from /test/aaa/test_basic where name='batch_001' or name='batch_002' /** output() count(2) **/ ; -- 7. 更新后再更新回原值 update /test/aaa/test_basic set v_int=1 where name='batch_001' ; select name, v_int from /test/aaa/test_basic where name='batch_001' /** output() match("v_int","1") **/ ; -- 8. 更新 bigint 字段 update /test/aaa/test_basic set v_bigint=-999999999999999999 where name='insert_003' ; select name, v_bigint from /test/aaa/test_basic where name='insert_003' /** output() **/ ;