我需要一些想法
START TRANSACTION;
UPDATE tasks
SET priority = 2
WHERE id = 1;
UPDATE tasks
SET priority = 1
WHERE id = 2;
COMMIT;
当task1具有优先级1和任务2 - 2时。
答案 0 :(得分:0)
我在 MySQL :
中有一个解决方案UPDATE tasks a
INNER JOIN tasks b on a.id <> b.id
SET a.priority = b.priority
WHERE a.id IN (1,2)
AND b.id IN (1,2)
我希望您可以将其转换为 ActiveRecord 。