cuốn sách gpt4 ai đã làm

mysql - 维护/更新mysql中的记录顺序

In lại Tác giả: Walker 123 更新时间:2023-11-29 01:10:56 28 4
mua khóa gpt4 Nike

我在 mySql 中有一个记录表。我需要按照用户指定的方式为它们维护订单。所以我添加了一个“位置”列。

当我移动特定记录时更新所有记录的 SQL 语句是什么?我有类似的东西:

UPDATE items SET position = '2' WHERE id ='4';
UPDATE items SET position = position+1 WHERE position >= '2' AND id != '4';

但是如果记录向下移动,则大于将小于。有什么窍门?谢谢!

câu trả lời hay nhất

像这样的东西可以吗?

UPDATE items 
SET position = CASE position
WHEN $oldpos THEN $newpos
ELSE position + SIGN($oldpos-$newpos)
END
WHERE position BETWEEN LEAST( $newpos, $oldpos )
AND GREATEST( $newpos, $oldpos );

我测试了几次,它似乎有效。

关于mysql - 维护/更新mysql中的记录顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/481789/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress