sql >> Databasteknik >  >> RDS >> Mysql

Hur man utför en UPSERT så att jag kan använda både nya och gamla värden i uppdateringsdelen

Som nämnts i min kommentar behöver du inte göra undervalet för att hänvisa till raden som får ON DUBLIKATKEY att avfyras. Så i ditt exempel kan du använda följande:

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

Kom ihåg att det mesta är väldigt enkelt, om du kommer på dig själv med att överkomplicera något som borde vara enkelt så gör du det mest troligt på fel sätt :)



  1. T-SQL tisdag #33:Trickbilder:Schema Switch-A-Roo

  2. Hur FROM_BASE64()-funktionen fungerar i MySQL

  3. PDO-bindningsvärden för MySQL IN-sats

  4. Hur frågar jag efter alla datum som är större än ett visst datum i SQL Server?