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
想法?