跳到主要内容

移动键值 (LCC.kvdb.dict.move_value)

声明

ok, old_value_or_err = LCC.kvdb.dict.move_value(src_name, src_key, dst_name?, dst_key?, timeout?)

参数

  • src_name
    字符串型,源词典名称(非空,最长 256 字节)
  • src_key
    字符串型,源键名(必须为合法 UTF-8,且非空)
  • dst_name
    字符串型,可选;目标词典名称,默认与源相同(非空,最长 256 字节)
  • dst_key
    字符串型,可选;目标键名,默认与源键名相同(必须为合法 UTF-8,且非空)
  • timeout
    数值型,可选;请求超时时间(秒),默认 60

返回值

  • ok
    布尔型,移动成功返回 true,失败返回 false
  • old_value_or_err
    字符串型或 nil;成功时为目标位置原值(不存在则为 nil),失败时通常为错误描述;源键不存在时第二返回值不保证为固定文案

说明

原子地将键从源词典迁移到目标词典。
如果源与目标相同且键名一致,函数会抛出错误。
成功但目标原先无值时返回 true, nil
找不到源键时返回 false,第二返回值不保证为固定文案。

示例

local ok, old = LCC.kvdb.dict.move_value("待处理", "task#1", "进行中", "task#1")
if not ok then
error(old)
end