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

MySQL Jak vložit nový záznam nebo aktualizovat pole v závislosti na tom, zda existuje?

Podívejte se na INSERT... NA DUPLIKÁTNÍ KLÍČ AKTUALIZACE .

Mělo by to vypadat nějak takto:

INSERT INTO mytable (rating, num_rates, uniqueCol)
VALUES ($theRating, 1, $uniqueCol)
ON DUPLICATE KEY UPDATE
  rating=((rating*num_rates)+$theRating)/num_rates,
  num_rates=num_rates+1;

Ujistěte se, že máte UNIQUE index nebo PRIMARY KEY na vašem uniqueCol .




  1. Rychlejší způsob, jak odstranit odpovídající řádky?

  2. 7 tipů osvědčených postupů pro hromadné načítání dat PostgreSQL

  3. Tabulka vytvořená v proceduře je zrušena, dochází k chybě kompilace pro proceduru

  4. PDO - Vložení velkého pole do databáze MySQL