簡體   English   中英

為什么此批量mysql case語句不起作用?

[英]Why isn't this bulk mysql case statement working?

UPDATE campaigns.list_name_counter SET counter = CASE WHEN name = 'occupant' THEN '2' WHEN name = 'occupant' THEN '3' WHEN name = 'Resident' THEN '3' WHEN name = 'Resident' THEN '4' WHEN name = 'Resident' THEN '5' END WHERE name IN ('occupant', 'occupant', 'Resident', 'Resident', 'Resident');

該表只有3列。 ID,名稱和計數器。 當使用上面的語句完成更新時,它僅執行了第一位乘員和第一位居民。 它跳過了其余的部分。 如果有的話,如果每個唯一名稱只能執行一次,那么我希望它執行每個名稱的最后一個,而不是每個名稱的第一個,但是無論如何,即使每個名稱重復,它也應該在每個名稱上進行更新,否則允許? 我如何更新最大的計數器號而不是最小的計數器號? 我的語法在某個地方弄亂了嗎?

CASE語句不會像在C語言中那樣“失敗”。 僅使用第一個比賽; 它們等效於“ if ... else if .... else if ... else if ....”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM