Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL Wstawiaj do tabeli tylko wtedy, gdy rekord nie istnieje

To może być proste rozwiązanie, aby to osiągnąć:

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. alternatywnie (jeśli ID klucz podstawowy):

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

zobacz te skrzypce .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcje agregujące MySQL bez klauzuli GROUP BY

  2. Adres powiązania i serwer MySQL

  3. Jak wykonać zapytanie do tej tabeli MySQL w najbardziej wydajny sposób?

  4. Framework Entity z migracją bazy danych mysql zawodzą podczas tworzenia indeksów

  5. Jak sumować z MySQL dla każdego n rekordu?