Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL Sisipkan ke dalam tabel hanya jika catatan tidak ada

Ini mungkin solusi sederhana untuk mencapai ini:

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. sebagai alternatif (jika ID kunci utama):

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

lihat Fiddle ini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan MySQLdb dengan Python dan Django di OSX 10.6?

  2. MySQL pilih dengan kondisi CONCAT

  3. PEMICU yang menyebabkan INSERT gagal? Bisa jadi?

  4. Jumlah kolom mysql.user salah. Diharapkan 42, ditemukan 44. Tabel mungkin rusak

  5. Prosedur Tersimpan dengan parameter WHERE opsional