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

MySQL chỉ chèn nếu một điều kiện là đúng

Bạn có thể sử dụng WHERE mệnh đề này. Chuyển đổi CÁC GIÁ TRỊ CHÈN của bạn thành CHÈN CHÈN và thêm WHERE mệnh đề.

Ví dụ:

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
WHERE Condition;

Nếu Điều kiện là đúng, nó sẽ chèn hàng. Nếu Điều kiện sai, SELECT sẽ trả về không hàng và do đó INSERT sẽ chèn không hàng.

Nếu truy vấn ở trên không chạy do lỗi cú pháp, bạn có thể, như @ spencer7593 đã đề cập, thêm FROM DUAL .

INSERT INTO fields (field_name, control_type_id, needs_approval)
SELECT
'Array Photos', 3, 0
FROM DUAL
WHERE Condition;

DUAL bảng về cơ bản là một bảng giả có nội dung có thể đoán được và có thể dựa vào đó để luôn có ít nhất một hàng .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao một truy vấn chèn đôi khi mất quá nhiều thời gian để hoàn thành?

  2. CẬP NHẬT hoặc XÓA trước rồi CHÈN

  3. Làm thế nào để tạo bảng với các trường mật khẩu trong mysql?

  4. mysqli_connect ():(HY000 / 2002):Kết nối đã hết thời gian trên máy chủ

  5. php mysql hiển thị kết quả dưới dạng danh sách thả xuống