sql >> Databasteknik >  >> RDS >> Mysql

SQL Infoga endast i tabellen om posten inte finns

Detta kan vara en enkel lösning för att uppnå detta:

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 (om ID en primärnyckel):

 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 denna fiol .



  1. MySQL Kan inte släppa index som behövs i en främmande nyckel-begränsning

  2. PDO-hämtning returnerar ingenting

  3. hur man håller ett hashvärde i tabellkolumnen i rails

  4. Hur STR()-funktionen fungerar i SQL Server (T-SQL)