Да, вы можете обновить несколько значений при конфликте вставки.Чтобы сделать это, просто предоставьте несколько лямбда-выражений, например,
val q = quote {
query[Product]
.insert(lift(product))
.onConflictUpdate(
(t, e) => t.sku -> (t.sku + e.sku),
(t, e) => t.abc -> e.abc)
}
. Это приведет к созданию следующего SQL для MySQL:
INSERT INTO product (id,sku,abc) VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE sku = (sku + VALUES(sku)), abc = VALUES(abc)