上述报错的语句,比如我执行如下MySQL,则报错:
UPDATE station c SET c.status=2 WHERE c.id IN (
SELECT
a.id
FROM
station a
LEFT JOIN station_application_record b ON a.station_num = b.station_num
WHERE
b.bill_num = 'GO1803150000431');
报错信息为:
[Err] 1093 - You can't specify target table 'c' for update in FROM clause
改进的方法一:(正确)
UPDATE station d SET d.status=1 WHERE d.id IN (
SELECT c.id FROM