sql >> Database >  >> RDS >> Mysql

MySQL -- Update indien bestaat, anders invoegen met twee sleutels

Probeer een IF EXISTS om te bepalen of een UPDATE . moet worden uitgevoerd of een INSERT uitspraak. U kunt dit in één PHP-statement/query doen.

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;


  1. Verwijderen met meerdere tabellen en tabel herhalen in de subquery

  2. Oracle SQL:gebruik volgorde in insert met Select Statement

  3. Is er een reden waarom MySQL geen FULL OUTER JOINS ondersteunt?

  4. Hoe "MySQL ERROR 1819 (HY000):" op te lossen in Linux