Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać UPSERT, abym mógł używać zarówno nowych, jak i starych wartości w części dotyczącej aktualizacji?

Jak wspomniałem w moim komentarzu, nie musisz wykonywać podselekcji, aby odwołać się do wiersza, który powoduje uruchomienie ON DUPLICATE KEY. Tak więc w swoim przykładzie możesz użyć następującego:

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

Pamiętaj, że większość rzeczy jest naprawdę prosta, jeśli złapiesz się na przesadnym komplikowaniu czegoś, co powinno być proste, najprawdopodobniej robisz to w niewłaściwy sposób :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB – MySQL – Pokaż silniki, aby wyświetlić wszystkie dostępne i obsługiwane silniki

  2. Które wiersze są zwracane przy użyciu LIMIT z OFFSET w MySQL?

  3. Jak działa funkcja LPAD() w MySQL

  4. Lokalny host MySQL !=127.0.0.1?

  5. Zamów MySQL przed Grupuj według