# Upsert

根据查询条件,如果查到数据,则更新该数据内容。如果没有查到数据,就插入新数据。

# 示例

var newUid = "UpsertTest_" + Guid.NewGuid().ToString();
var request = new SqlessEditRequest()
{
    Table = Tables.User,
    Queries = new List<Query.SqlessQuery>()
    {
        new Query.SqlessQuery()
        {
            Field="Uid",
            Value=newUid,
            Type=Query.SqlessQueryType.Equal
        }
    }
};
request.LoadFromObject(new
{
    Uid = newUid,
    Name = DateTime.Now.ToString("hhmmss"),
    Password = new Random().Next(100000, 999999).ToString()
});

using Sqless sqless = new Sqless(Global.AllowUnspecifiedConfig);
var result = await sqless.Upsert(request);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

TIP

根据 Insert,如果插入的表已设置为 所有者 表,则所有者字段(如Uid)自动设置为当前已登录账号的 用户 Id。

该规则在 Upsert 仍然适用。

Last Updated: 12/10/2020, 10:26:39 PM