Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Wie füge ich einen neuen Datensatz ein oder aktualisiere ein Feld, je nachdem, ob es existiert?

Schauen Sie sich INSERT ... ON DUPLICATE KEY an AKTUALISIEREN .

Es sollte etwa so aussehen:

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;

Stellen Sie sicher, dass Sie einen UNIQUE index haben oder PRIMARY KEY auf Ihrem uniqueCol .