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

Chèn vào Cơ sở dữ liệu MYSQL nếu không tồn tại

INSERT INTO  Customers (FirstName, Address, Phone) 
SELECT * FROM (SELECT '$firstName', '$address', '$phone') AS tmp
WHERE NOT EXISTS (
    SELECT FirstName from Customers WHERE FirstName= '$firstName'
)   LIMIT 1;

Điều này sẽ ngăn chặn dựa trên tên, bạn có thể sử dụng tất cả các cột này để kiểm tra, tôi cho rằng cột phù hợp phải là email, bạn có thể sử dụng cột đó.

Tôi vừa thêm các tham số trong truy vấn để bạn có ý tưởng, hãy sử dụng liên kết tham số để tránh tiêm sql.

HOẶC

  select * from customers where .... // 

Nhận kích thước của tập hợp kết quả và nếu size > 0 điều đó có nghĩa là đã có một hàng, vì vậy đừng chèn nó vào.

Câu lệnh Sql được lấy từ MySQL:Chèn bản ghi nếu không tồn tại trong bảng và được sửa đổi.



  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ạo các hàng trống ngay cả khi trống giữa 2 ngày

  2. 1052:Cột 'id' trong danh sách trường không rõ ràng

  3. Loại Mysql Time đưa ra ArgumentError:đối số nằm ngoài phạm vi trong Rails nếu trên 24 giờ

  4. MySQL ON UPDATE CURRENT_TIMESTAMP không cập nhật

  5. Hibernate:Tự động tạo / cập nhật các bảng db dựa trên các lớp thực thể