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

na zduplikowanej aktualizacji klucza z warunkiem?

Inna opcja:

INSERT INTO tbl (count, otherID) 
  VALUES (2, 'a') 
ON DUPLICATE KEY UPDATE 
  count = GREATEST(VALUES(count), count) ;

Ostrzeżenie: To się nie powiedzie, jeśli przekazana wartość dla count jest NULL (zamiast 2 ). Zaktualizuje kolumnę o NULL . Dlatego lepiej jest użyć IF() lub CASE klauzula.

Chyba że wolisz (idzie elegancja...):

ON DUPLICATE KEY UPDATE 
  count = GREATEST(COALESCE(VALUES(count), count), count) ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python Pandy zapisują do sql z wartościami NaN

  2. połącz java z mysql za pomocą jdbc na osx

  3. funkcja explode() używająca SEPARATORA GRUPY

  4. Pobierz z bazy danych, ale tylko przez 30 dni

  5. Zestawienie MySQL do przechowywania wielojęzycznych danych w nieznanym języku