简单的问题,我相信答案很简单。我到处找都找不到解决办法。基本上,我下面的代码在Phpmyadmin中工作,但在PHP-mysql查询脚本中不工作。代码按照最大的数字对我的"rank"行进行排序,然后用一个数字更新"position"行,从1开始表示"rank"列中最大的数字,然后随着"rank(排名)"行值变小,递增"position(位置)"行。
SET @r=0;
UPDATE Data SET position= @r:= (@r+1) ORDER BY rank DESC;
SET @r=0;
SELECT *, @r:= (@r+1) as position FROM Data ORDER BY rank DESC;
提前感谢!!
这里有多个查询。尝试使用mysqli_multi_query:
$result = mysqli_multi_query($con,"SET @r=0;
UPDATE Data SET position= @r:= (@r+1) ORDER BY rank DESC;
SET @r=0; SELECT *, @r:= (@r+1) as position
FROM Data ORDER BY rank DESC;") ;