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

CẬP NHẬT MYSQL được thiết lập trên cùng một cột nhưng có nhiều mệnh đề WHERE

Một cái gì đó như thế này sẽ phù hợp với bạn:

UPDATE CustomerDetails_COPY
    SET Category_ID = CASE Category_ID
        WHEN 2 THEN 10 
        WHEN 3 THEN 9
        WHEN 4 THEN 12
        WHEN 5 THEN 11
    END
WHERE Category_ID IN (2,3,4,5)

Ngoài ra, như Simon đã đề xuất, bạn có thể làm điều này để tiết kiệm việc nhập các giá trị hai lần:

UPDATE CustomerDetails_COPY
    SET Category_ID = CASE Category_ID
        WHEN 2 THEN 10 
        WHEN 3 THEN 9
        WHEN 4 THEN 12
        WHEN 5 THEN 11
        ELSE Category_ID
    END

Nguồn: http://www.karlrixon.co.uk/writing/update-multiple-rows-with-dierence-values-and-a-single-sql-query/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django:sqlite cho nhà phát triển, mysql cho sản phẩm?

  2. Cách đặt lại mật khẩu gốc MySQL

  3. MySQL - length () so với char_length ()

  4. Mysql xóa đơn đặt hàng của

  5. Không thể tạo trình kích hoạt MySQL với đặc quyền TRIGGER trên 5.1.32