如何在tarantool中进行UPDATE…SET MAX(第5列)

问题描述 投票:0回答:1

实际上,有一项任务是从以下字段中收集使用情况统计信息:cntvaluemaxmin

我想一次完成所有操作upsert。通过cnt设置+,通过value设置=

我不知道如何创建最小字段:

  1. 是否有一个简单的选项可以为upsert编写自己的函数(lua,它将获取旧值和新值并输出结果)
  2. 或者我可以创建将获取整个元组,新数据并更新相应值本身的函数。
lua tarantool
1个回答
0
投票

只需将before_replace触发器移到空格,如果缺少旧值,它将返回一个新值,否则将返回一个已修改的值。大概是这样的:

function trigger_before_update_space1 (old, new)
    return old and box.tuple.new({
        new[1],
        new[2],
        math.max(old[3], new[2])
    }) or new
end       
© www.soinside.com 2019 - 2024. All rights reserved.