Я хочу сделать что-то подобное, но мне кажется, что я просто не могу:
UPDATE products p2
SET
manufacturer =
(
SELECT manufacturer
FROM products p, manufacturers m, etc.
WHERE
...other stuff...
p.name LIKE CONCAT('%',m.name,'%')
AND p.id = p2.id
)
WHERE manufacturer = 0
Ошибка: # 1093 - Вы не можете указать целевую таблицу 'p2' для обновления в FROM
Проблема в том, что у меня есть поле производителя в таблице, но некоторые имена производителей находятся в строке product_name-вместо поля производителя, поэтому мне нужно получить идентификатор производителя по имени-продукта иобновить таблицу продуктов с идентификатором производителя.
Я мог бы сделать это за два шага, но id хотел бы сделать это за один раз.