Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL Comment insérer un nouvel enregistrement ou mettre à jour un champ selon qu'il existe ou non ?

Jetez un oeil à INSERT ... ON DUPLICATE KEY MISE À JOUR .

Cela devrait ressembler à ça :

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;

Assurez-vous d'avoir un UNIQUE index ou PRIMARY KEY sur votre uniqueCol .