2013-12-13 52 views
0

我也有類似的對這個問題的一個問題:更新雙路(2-d)按順序列在MySQL

updating columns with a sequence number mysql

不過,我也「有時」需要更新的第二列。例如,考慮這個表:

uID | X | Y 
1 | 6 | 0 
2 | 2 | 0 
3 | 7 | 0 
4 | 7 | 1 
5 | 3 | 0 
6 | 1 | 0 

我想「X」重新排序的順序,我可以從鏈接的解決方案做的,上面:

SET @rank:=0; 
UPDATE `myTable` SET 
X = @rank:= @rank+1 
ORDER BY X 

但是,如果記錄有Y值大於0我需要它的X被同時更新。作爲二維值的Y值需要與其「X」保持一致。合理?所以我需要表格來結束:

uID | X | Y 
6 | 1 | 0 
2 | 2 | 0 
5 | 3 | 0 
1 | 4 | 0 
3 | 5 | 0 
4 | 5 | 1 

想法?

回答