Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

SQL Inserir na tabela somente se o registro não existir


Esta pode ser uma solução simples para conseguir isso:
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. alternativamente (se ID uma chave primária):
 INSERT INTO funds (ID, date, price)
    VALUES (23, DATE('2013-02-12'), 22.5)
        ON DUPLICATE KEY UPDATE ID = 23; -- or whatever you need

veja este violino .