2

rank我有一个包含一列的表
rank
1
2
3
4
5
6
7
8

当我删除数字 5 时,我希望 5 以上的数字减少 1 个数字。所以 6=5 7=6 8=7

$start_rank = singleSelectQuery('SELECT rank FROM menu WHERE menuID='.$menuID.'');
$update_rank = Query("UPDATE menu SET rank='rank - 1' WHERE partnerID=". $partnerID ." AND rank>".$start_rank['rank']);

这段代码不更新数字,我不知道我做错了什么:)
哦,我没有收到任何错误......
我做错了什么?

编辑
当我回显 update_rank 我得到:
UPDATE menu SET rank='rank - 1' WHERE partnerID=1 AND rank>5)

4

3 回答 3

2

您的语法错误:rank='rank - 1'

应该

rank=rank - 1.

领导.")"也不应该在那里。

于 2013-01-02T14:08:07.853 回答
1

你可以试试这个-

update menu set rank=(rank - 1) where rank > 5
于 2013-01-02T14:07:33.657 回答
1

假设排名是一个整数字段,你不应该引用你的计算rank-1

 UPDATE menu SET rank= rank - 1 WHERE ....
于 2013-01-02T14:08:06.707 回答