Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQL Chèn vào bảng chỉ khi bản ghi không tồn tại

Đây có thể là một giải pháp đơn giản để đạt được điều này:

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. cách khác (nếu ID khóa chính):

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

xem Fiddle này .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đếm tất cả các nút con của dữ liệu phân cấp trong một bảng

  2. CHÈN MySQL VÀO NƠI KHÔNG TỒN TẠI

  3. Làm cách nào để đặt dấu gạch ngược vào tên cột được gọi là khóa cho chế độ ngủ đông

  4. lấy dữ liệu từ cơ sở dữ liệu mysql để sử dụng trong javascript

  5. Tạo biến bảng trong MySQL