1.MySQL之You can't specify target table for update in FROM clause解决办法 - 竹山一叶 - 博客园
UPDATE emall_goods
SET TAX = 9
WHERE GOODSID IN (
SELECT GOODSID
FROM emall_goods
WHERE GOODS_STATUS = 1
AND STOREID = 1
AND TAX = 0
)
============以上是错误的,以下是正确的================
UPDATE emall_goods
SET TAX = 9
WHERE GOODSID IN (
SELECT T.GOODSID FROM(
SELECT GOODSID
FROM emall_goods
WHERE GOODS_STATUS = 1
AND STOREID = 1
AND TAX = 0
) AS T
)