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

MySQL -- Aktualisieren, falls vorhanden, sonst mit zwei Schlüsseln einfügen

Versuchen Sie es mit einem IF EXISTS um festzustellen, ob ein UPDATE ausgeführt werden soll oder ein INSERT Erklärung. Sie können dies in einer PHP-Anweisung/Abfrage tun.

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;