我使用 Docker 运行 SurrealDB 服务器,启动命令:“docker run --rm -p 8000:8000 docker.io/surrealdb/surrealdb:latest start --log trace --user root --pass root tikv://10.206。 0.9:2379",指定 TiKV 集群端点作为后备数据存储。
1.我运行“UPDATE account SET username.first = "Tobie",username.last = "Morgan Hitchcock" where id="account:02vpvzway97jn2wj23kq" ",更新一条记录即可,返回:
[
{
"time": "222.085746ms",
"status": "OK",
"result": [
{
"age": 18,
"datatime": "2022-10-05T03:20:57.781059411Z",
"id": "account:02vpvzway97jn2wj23kq",
"name": "SurrealDB99",
"password": "b50339a10e1de285ac99d4c3990b8693",
"username": {
"first": "Tobie",
"last": "Morgan Hitchcock"
}
}
]
}
]
但更新更多记录返回ERR。 例如更新帐户 SET 密码=crypto::md5(id) RETURN NONE;返回:
[
{
"time": "1.035028887s",
"status": "ERR",
"detail": "There was a problem with a datastore transaction: Failed to resolve lock"
}
]
您的查询的问题是 id 未定义,您可以在其中定义一个变量:
$id = "generate_id_using_surrealdb_funcs";
然后你可以使用这个$id来创建密码。