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

Cách thực hiện UPSERT để tôi có thể sử dụng cả giá trị mới và cũ trong phần cập nhật

Như đã đề cập trong nhận xét của tôi, bạn không phải thực hiện chọn phụ để tham chiếu đến hàng khiến BẬT KHÓA KÉP kích hoạt. Vì vậy, trong ví dụ của bạn, bạn có thể sử dụng như sau:

INSERT INTO `item`
(`item_name`, items_in_stock)
VALUES( 'A', 27)
ON DUPLICATE KEY UPDATE
`new_items_count` = `new_items_count` + 27

Hãy nhớ rằng hầu hết mọi thứ đều thực sự đơn giản, nếu bạn bắt mình quá phức tạp một thứ gì đó phải đơn giản thì rất có thể bạn đang làm sai cách :)



  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 cập nhật hai bảng cùng một lúc

  2. MySQL - Chọn một cột không có trong Nhóm theo

  3. Cách lưu chữ ký trong MySQL

  4. Không thể kết nối với MySQL 4.1+ bằng xác thực cũ

  5. Hướng dẫn sử dụng MySQL:Mệnh đề MySQL IN (Cơ bản)