插入更新数据: 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);

results matching ""

    No results matching ""