Кроме того, вам не нужно использовать вложенные CASE. Вы можете использовать несколько строк WHEN-THEN, и строка ELSE также не обязательна, хотя я рекомендую ее
у этот запрос не работает? :( Я попытался заменить вложенный оператор IF "... SET lkey = IF (lkey> = 11, lkey - 5, IF (lkey> 5, lkey + 2, lkey))"
UPDATE pages
SET lkey = CASE lkey WHEN lkey >= 11 THEN
lkey - 5
ELSE
CASE lkey WHEN lkey > 5 THEN
lkey + 2
ELSE
lkey
END
END,
rkey = CASE lkey WHEN lkey >= 11 THEN
rkey - 5
ELSE
CASE rkey WHEN rkey < 11 THEN
rkey + 2
ELSE
rkey
END
END
WHERE rkey > 5 AND
lkey < 12;