sql >> Database >  >> RDS >> Mysql

SQL Alleen in tabel invoegen als record niet bestaat

Dit kan een eenvoudige oplossing zijn om dit te bereiken:

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'));

ps. alternatief (indien ID een primaire sleutel):

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

zie deze Fiddle .



  1. Bouw snel een PHP CRUD-interface met de PDO Advanced CRUD Generator Tool

  2. ORA-00972 identifier is te lang alias kolomnaam

  3. Ansible houdt van PostgreSQL

  4. postgresql genereert een reeks zonder tussenruimte