插入更新数据: upsert()
对表执行UPSERT.
final res = await supabase
.from('messages')
.upsert({ 'id': 3, 'message': 'foo', 'username': 'supabot' })
.execute();
Notes
- 主键应包含在数据负载中,以便更新正常工作。
- 主键必须是自然主键,而不是代理主键。但是,代理主键有一些变通方法.
Examples
Upsert您的数据
final res = await supabase
.from('messages')
.upsert({ 'id': 3, 'message': 'foo', 'username': 'supabot' })
.execute();
插入有约束的表
行以下命令将导致 supabase 将数据更新插入users表中。如果用户名 'supabot' 已经存在,则onConflict参数告诉 supabase 使用onConflict列传入的值覆盖该行。
final res = await supabase
.from('users')
.upsert({ 'username': 'supabot' }, { 'onConflict': 'username' })
.execute();
返回确切的行数
Allowed values for count option are exact
, planned
and estimated
.
final res = await supabase
.from('users')
.upsert({
'id': 3,
'message': 'foo',
'username': 'supabot'
})
.execute(count: CountOption.exact);