解决MYSQL的You can't specify target table 'xxxxxxxxxx' for update in FROM clause

出现这个问题的MYSQL的SQL语句形如:


DELETE FROM xxxxa WHERE EXISTS (SELECT * FROM xxxx1 WHERE xxxxa.xxid=123)
解决方法,把结果放在一个临时表里:
DELETE FROM xxxxa WHERE xxxxa.id IN (SELECT tmp.id FROM (SELECT * FROM xxxxaWHERE xxxxa.xxid=123)tmp);
 
但是oracle是可以的,说明mysql有待升级。
原文地址:https://www.cnblogs.com/shz365/p/3598065.html