Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL Como inserir um novo registro ou atualizar um campo dependendo se ele existe?


Dê uma olhada em INSERT ... ON DUPLICATE KEY ATUALIZAÇÃO .

Deve ser algo assim:
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;

Certifique-se de ter um UNIQUE index ou PRIMARY KEY em seu uniqueCol .