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

Cập nhật bản ghi nếu tồn tại, nếu không sẽ chèn vào MySQL

Điều thích hợp nhất mà tôi có thể tưởng tượng là tạo một chỉ mục duy nhất trên cột slug

Các trang
ALTER TABLE pages ADD UNIQUE KEY slug;

Lý do rất đơn giản:nếu điều này không bị ràng buộc duy nhất, có thể có nhiều hơn một slug với "mainpage" ... cái nào nên được cập nhật ??

sau đó sử dụng BẬT CẬP NHẬT KHÓA DUPLICATE mệnh đề:

INSERT INTO pages 
VALUES (NULL, $title, $content, $slug) ON DUPLICATE KEY UPDATE content=$content



  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 Left Join Subselect

  2. CodeIgniter Select Statement với mệnh đề Where

  3. đảm bảo rằng kết quả phương thức tìm nạp PDO false là một lỗi hoặc kết quả trống

  4. MySQL:truy vấn hiệu quả trên một cột quá dài để được lập chỉ mục

  5. Ngoại lệ của trình kết nối MySQL 6.7.4 và Entity Framework 5