2012-01-19 61 views
0

基本上,我有一個mysql db中的記錄列表。這些記錄按1到10排序。用戶可以按照他們想要的順序重新排序這些記錄。他們將按下一個按鈕將所有記錄更新爲新的相應訂單號。例如:如何使用一次調用更新記錄列表的「排序索引」列

ID | Sort_Index | Name 
---------------------- 
1 |  1  | Jim 
2 |  2  | Bob 
3 |  3  | Carl 
4 |  4  | Bill 
5 |  5  | Wendy 

用戶可以更改這些本例如: 注:更改後的值存儲到磁盤陣列之前我做了更新調用

ID | Sort_Index | Name 
---------------------- 
1 |  1  | Carl 
2 |  2  | Wendy 
3 |  3  | Bob 
4 |  4  | Jim 
5 |  5  | Bill 

我的問題是,如何能我使用一個調用進行這個mysql調用,使用數組中的新值,而不是每個記錄調用一次?

如果這是不可能的或者只是「錯誤的做法」,請隨時提出新的想法,因爲我現在還沒有完全致力於這個想法。

回答

0

如果你有行的數量有限,你可以使用SQL CASE語句實現這一點 -

Update users set sort_index = case id when 1 then <newval> when 2 then <newval>... 
+0

就是它了。我知道必須有一個簡單的方法。謝謝你馬克。 – Peaches 2012-01-19 16:15:52