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

Chèn có điều kiện MySQL

Nếu DBMS của bạn không đặt ra các giới hạn đối với bảng bạn chọn khi thực hiện chèn, hãy thử:

INSERT INTO x_table(instance, user, item) 
    SELECT 919191, 123, 456
        FROM dual
        WHERE NOT EXISTS (SELECT * FROM x_table
                             WHERE user = 123 
                               AND item = 456)

Trong này, dual là một bảng chỉ có một hàng (được tìm thấy ban đầu trong Oracle, bây giờ cũng trong mysql). Logic là câu lệnh SELECT tạo ra một hàng dữ liệu với các giá trị bắt buộc, nhưng chỉ khi các giá trị đó chưa được tìm thấy.

Ngoài ra, hãy xem báo cáo MERGE.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL nhận vị trí hàng trong ORDER BY

  2. Đạt được thứ bậc, Mối quan hệ cha mẹ / con cái một cách hiệu quả và dễ dàng

  3. Sử dụng đối chiếu nhị phân có những tác dụng gì?

  4. Cách xuất cơ sở dữ liệu bằng dòng lệnh

  5. Mysql:Chọn tất cả dữ liệu giữa hai ngày