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;