При обновлении строки mysql (Вы не можете указать целевую таблицу 'x' для обновления в предложении FROM)

0

Я пытаюсь обновить строку MySQL.

мой запрос

update x set available_material_id = null where id not in (select id from x where additional_info = 1);

и я получаю это сообщение об ошибке: вы не можете указать целевую таблицу "x" для обновления в предложении FROM

может ли кто-нибудь помочь мне в этом вопросе?

Я использую MySQL версии 5.6.38.

Я видел это. Вы не можете указать целевую таблицу для обновления в ответе FROM FROM, но я не мог понять это.

Теги:

1 ответ

0
Лучший ответ

Используйте left join:

update x left join
       x xx
       on x.id = xx.id and xx.additional_info = 1
    set available_material_id = null
    where xx.id is null;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню