sql >> Databáze >  >> RDS >> Mysql

MySQL -- Aktualizujte, pokud existuje, jinak vložte pomocí dvou klíčů

Zkuste použít IF EXISTS určit, zda se má provést UPDATE nebo INSERT prohlášení. Můžete to udělat v jednom PHP příkazu/dotazu.

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. Jak se spouštějí paralelní plány – část 2

  2. SQLite JSON_GROUP_OBJECT()

  3. Nikdy nemazat záznamy? Dobrý nápad? Obvyklý?

  4. Laravel PDOException SQLSTATE[HY000] [1049] Neznámá databáze 'forge'