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

MySQL - Mettre à jour s'il existe sinon insérer avec deux clés

Essayez d'utiliser un IF EXISTS pour déterminer s'il faut exécuter un UPDATE ou un INSERT déclaration. Vous pouvez le faire dans une instruction/requête PHP.

IF EXISTS(SELECT 1 FROM Mytable WHERE foreign_key_id = f1 AND value1 = v1)
BEGIN
    UPDATE Mytable SET value2 = v2
    WHERE foreign_key_id = f1 AND value1 = v1;
END
ELSE
BEGIN
      INSERT INTO Mytable(foreign_key_id,value1,value2)
      VALUES (f1,v1,v2);
END IF;