我想做类似这样的事情,但似乎我做不到:
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 字符串中而不是制造商字段中,因此我必须通过 product_name 获取制造商 id 并更新产品表中的制造商 id。
我可以分两步完成此操作,但我想一次性完成。