[Решено] Обновление таблицы с выборкой из нее же

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

Есть таблица:

product {
  id,
  vendor varchar,
  name varchar
}

Необходимо записать в поле name строку:

CONCAT(vendor, ' ', name)

При выполнении подзапроса выборки на прямую из этой же таблицы возникает ошибка:

#1093 — You can’t specify target table ‘tbl’ for update in FROM clause

Решение:

UPDATE product SET name = (
  SELECT CONCAT(vendor, ' ', name) FROM (SELECT * FROM product) P WHERE P.id = product.id LIMIT 1
)

Ключевой момент FROM (SELECT * FROM product).