MySQL, Ошибка 1175 при выполнении ОБНОВЛЕНИЯ с использованием СОЕДИНЕНИЯ и включения PK в предложение WHERE

#mysql #mysql-error

Вопрос:

Прежде чем я начну, я знаю, что это можно решить, сначала выполнив запрос.

УСТАНОВИТЕ SQL_SAFE_UPDATES = 0;

Тем не менее, я хочу выполнить обновление без необходимости каждый раз изменять конфигурацию базы данных.

Я пытаюсь обновить таблицу:

СОЗДАЙТЕ ТАБЛИЦУ `вложенная_категория` (
`category_id` INT ПЕРВИЧНЫЙ КЛЮЧ АВТОИНКРЕМЕНТА,
`имя` VARCHAR(20) НЕ РАВНО НУЛЮ,
`lft` INT НЕ РАВНО НУЛЮ,
`rgt` INT НЕ РАВНО НУЛЮ
);

Использование запроса:

ОБНОВИТЕ `вложенную категорию` КАК ns1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ " вложенная категория` КАК ns2
ВКЛ. (ns1.`lft` >= ns2.`rgt` ИЛИ ns1.`rgt` >> ns2.`rgt`)
УСТАНОВИТЕ ns1.`rgt` = ns1.`rgt`  2,
ns1.`lft` = ns1.`lft`  2
ГДЕ ns1.`идентификатор категории` = @sumID;

Кто-нибудь знает, почему я не могу это сделать и/или как я могу это сделать, не меняя настройки базы данных?

Комментарии:

1. Запрос является законным. Попробуйте воспроизвести вашу проблему — создайте онлайн-игру с вашими данными.

2. Спасибо. @Акина. Он отлично работает при использовании на скрипке. Мой экземпляр MySQL Workbench просто плохо работает.