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

SQL Vložit do tabulky pouze v případě, že záznam neexistuje

Toto může být jednoduché řešení, jak toho dosáhnout:

INSERT INTO funds (ID, date, price)
SELECT 23, DATE('2013-02-12'), 22.5
  FROM dual
 WHERE NOT EXISTS (SELECT 1 
                     FROM funds 
                    WHERE ID = 23
                      AND date = DATE('2013-02-12'));

p.s. případně (pokud ID primární klíč):

 INSERT INTO funds (ID, date, price)
    VALUES (23, DATE('2013-02-12'), 22.5)
        ON DUPLICATE KEY UPDATE ID = 23; -- or whatever you need

viz toto housle .



  1. Součet několika sloupců MySQL uložených v jiném sloupci?

  2. Vícerozměrné pole PHP z výsledku mysql

  3. Mýty o výkonu:Nadměrná velikost sloupců řetězců

  4. Mysql - jak nastavit automatické zvýšení, aby začínalo od nuly