跳到主要内容

# 移动键值 (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