upsert

Mattepuffo's logo
Upsert in Ktorm

Upsert in Ktorm

In un precedente articolo abbiamo visto come connetterci ad un db MySQL/MariaDB in Kotlin con  Ktorm.

In questo vediamo come fare l'upsert, cioè come gestire l'insert quando troviamo un valore impostato come univoco.

Mattepuffo's logo
Upsert in Diesel Rust

Upsert in Diesel Rust

Per upsert in generale si intende il comportamento che deve avere la funzione quando incontra un chiave univoca ed un valore che già esiste nella tabella.

In Diesel possiamo usare la funzione on_conflict alla quale possiamo indicare due azioni:

  • do_nothing -> equivale ad un INSERT IGNORE
  • do_update -> equivale ad un ON DUPLICATE KEY (per gli utilizzatori di MySQL/MariaDB)

In questo articolo vederemo l'update.

Mattepuffo's logo
Usare ON DUPLICATE KEY UPDATE in Laravel

Usare ON DUPLICATE KEY UPDATE in Laravel

Lo ammetto, sono un grandissimo amante dell'istruzione ON DUPLICATE KEY UPDATE di MariaDB/MySQL.

In Laravel possiamo usare la funzione upsert di Eloquent per ottenere lo stesso risultato.

Dovrebbe essere compatibile almeno con le versioni 9 e 10 di Laravel; e da quello che ho capito, upsert funziona anche con altri db che non hanno questa istruzione.