sql >> Database teknologi >  >> RDS >> Mysql

SQL Indsæt kun i tabel, hvis posten ikke eksisterer

Dette kan være en simpel løsning til at opnå dette:

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. alternativt (hvis ID en primær nøgle):

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

se denne violin .



  1. Installer utf8-sortering i PostgreSQL

  2. Hvad er grænsen for SQL-variabler, man kan angive i en enkelt execSQL-forespørgsel

  3. Returner antallet af rækker, der er påvirket af UPDATE-sætninger

  4. SQL NOT Operator for begyndere