OxL Справочник OxL
РусскийEnglish

method Table.upsert

Inserts the row, or replaces the row with the same primary key.

Example:

oxl✓ проверяется в CI
use std.orm { Db }

@table("items")
data Item {
  @pk id: i64
  name: str
  price: i64
}

fn main() io, db {
  let db = Db.open("sqlite::memory:")!
  db.Item.upsert(Item{ id: 1, name: "tea", price: 3 })
  db.Item.upsert(Item{ id: 1, name: "green tea", price: 4 })
  print("{db.Item.count()} {db.Item.all()[0].name}")
  db.close()
}
Вывод
1 green tea
pub(api) fn upsert(x: &T) db

С версии. 1.0.0-beta

Параметры

ИмяТип
x&T

Эффекты

db

Определено в: std/orm/orm.oxl:1062

См. также