如何在同一個查詢中執行多個更新。查詢多個更新
可以說我有此查詢
UPDATE table1
SET
Order = 1
WHERE
ID = 1234
但我想改變一些更多的訂單,其中ID是2345和2837和8399
我會怎麼做同樣的MySQL查詢中。請注意,這些訂單可能與1不同。因爲訂單字段是唯一的。
如何在同一個查詢中執行多個更新。查詢多個更新
可以說我有此查詢
UPDATE table1
SET
Order = 1
WHERE
ID = 1234
但我想改變一些更多的訂單,其中ID是2345和2837和8399
我會怎麼做同樣的MySQL查詢中。請注意,這些訂單可能與1不同。因爲訂單字段是唯一的。
UPDATE table1
SET Order = 1
WHERE id IN (1234, 2345, 2837, 8399)
如果你需要的Order
不同的值,每個ID,那麼你可能想提出一個循環中的任何程序談話的數據庫。
編輯補充
我想在程序循環的,但我看你要交互式地執行SQL。
如果你想綁定不可預測的數字序列是這樣的:
UPDATE table1 Order = 1 WHERE id = 1234
UPDATE table1 Order = 2 WHERE id = 2345
UPDATE table1 Order = 3 WHERE id = 2837
UPDATE table1 Order = 5 WHERE id = 8399
UPDATE table1 Order = 8 WHERE id = 8675
...然後我不知道你怎麼想,要更短。您可以寫被調用這樣一個存儲過程:
do_table1_update "1,2,3,5,8,13", "1234,2345,2837,8399,8675,309"
這是你有什麼想法?
UPDATE table1
SET
Order = 1
WHERE
ID in (2345,2837,8399)
可以更新多行,但是你不能命令字段設置爲不同的值,所以所有訂單字段(匹配ID)如果您想將具有值1
UPDATE table1 SET Order = 1 WHERE ID IN(1234, 2345, 2837, 8399)
編輯了這個問題 – Autolycus 2010-09-13 21:48:35
我在phpmyadmin..how上運行這個會在sql中放一個循環嗎? – Autolycus 2010-09-13 21:49:49