# 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
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 仍然适用。