【发布时间】:2026-02-02 12:45:01
【问题描述】:
我想做这样的事情,但似乎我做不到:
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 - 您不能在 FROM 子句中指定目标表 'p2' 进行更新
问题是我在表中有一个制造商字段,但一些制造商名称在 product_name-string 而不是制造商字段中,所以我必须通过 product_name 获取制造商 ID 并更新产品-表其制造商 ID。
我可以分两步完成,但我喜欢一步完成。
【问题讨论】:
-
AND p.id = p2.id 这里的 p2 是什么??