sql >> Databáze >  >> RDS >> Mysql

Jak provést UPSERT, abych mohl v části aktualizace použít nové i staré hodnoty

Jak je uvedeno v mém komentáři, nemusíte provádět podvýběr, abyste odkazovali na řádek, který způsobuje spuštění ON DUPLICATE KEY. Takže ve svém příkladu můžete použít následující:

INSERT INTO `item`
(`item_name`, items_in_stock)
VALUES( 'A', 27)
ON DUPLICATE KEY UPDATE
`new_items_count` = `new_items_count` + 27

Pamatujte, že většina věcí je opravdu jednoduchá, pokud se přistihnete, že příliš komplikujete něco, co by mělo být jednoduché, pak to s největší pravděpodobností děláte špatně :)



  1. Úvod do databází časových řad

  2. Funkce MONTHS_BETWEEN() v Oracle

  3. Jak získat data za poslední měsíc v MySQL

  4. Oracle SqlPlus – ukládání výstupu do souboru, ale nezobrazování na obrazovce