Với MYSQL Tôi đang sử dụng truy vấn này:MYSQL UPDATE Set trên cùng một cột nhưng với nhiều ĐÂU khoản
UPDATE CustomerDetails_COPY
SET Category_ID = 10
WHERE Category_ID = 2
Thats tốt nhưng tôi muốn quảng cáo 15+ hơn SET/WHERE
để nó thích:
UPDATE CustomerDetails_COPY
SET Category_ID = 9 WHERE Category_ID = 3
SET Category_ID = 12 WHERE Category_ID = 4
SET Category_ID = 11 WHERE Category_ID = 5
.....
Tôi làm cách nào để thêm điều này?
EDIT:
Như mỗi Hunters Góp ý:
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)
này hoạt động tuyệt vời! Cảm ơn
Đã xóa nhận xét của tôi là đã cố gắng và làm việc này, tốt đẹp :) Như một lưu ý, bạn có thể thêm "ELSE Category_ID" trước "END" nếu bạn không muốn bao gồm WHERE –
Cảm ơn. Một điểm tốt; nó sẽ tiết kiệm từ việc nhập các cột hai lần. –
Với mệnh đề 'WHERE', bạn được đảm bảo khá nhiều để có thể sử dụng một chỉ mục trên Category_ID, cũng với [safe-updates] (http://dev.mysql.com/doc/refman/5.0/en/ mysql-command-options.html # option_mysql_safe-updates) được bật, bạn phải nhập mệnh đề 'WHERE' với' UPDATE', vì vậy mệnh đề 'ELSE' có thể không phải là lựa chọn tốt nhất. Gắn bó với 'WHERE'. –