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

MySQL -- Atualiza se existir outra inserção com duas chaves


Tente usar um IF EXISTS para determinar se deve executar um UPDATE ou um INSERT demonstração. Você pode fazer isso em uma instrução/consulta 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;