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

REPLACE so với INSERT trong SQL

Theo tài liệu , sự khác biệt là:

Vì vậy, những gì nó làm:

  • Cố gắng đối sánh hàng bằng cách sử dụng một trong các chỉ mục có sẵn;
  • Nếu hàng chưa tồn tại:hãy thêm hàng mới;
  • Nếu hàng đã tồn tại:hãy xóa hàng hiện có và thêm hàng mới sau đó.

Khi nào thì việc sử dụng này trở nên hữu ích hơn insert riêng biệt và update tuyên bố?

  • Bạn có thể gọi điều này một cách an toàn và bạn không phải lo lắng về các hàng hiện có (một câu lệnh so với hai câu lệnh);
  • Nếu bạn muốn xóa dữ liệu liên quan khi inserting / updating , bạn có thể sử dụng replace :nó cũng xóa tất cả dữ liệu liên quan);
  • Khi trình kích hoạt cần kích hoạt và bạn mong đợi một insert (lý do chính đáng, được rồ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. Lỗi với PreparedStatement

  2. Không thể tìm nạp dữ liệu Unicode bằng ngôn ngữ Hindi từ PHP và MySQL

  3. Nối hai bảng mà không trả về hàng không mong muốn

  4. Python và Django OperationalError (2006, 'Máy chủ MySQL đã biến mất')

  5. Lỗi MySQL 5.6 là gì InnoDB hiện hỗ trợ một lần tạo chỉ mục FULLTEXT. Hãy thử LOCK =SHARED nghĩa là gì?