MYSQL之You can't specify target table for update in FROM clause解决办法
更新或删除时报错 You can't specify target table for update in FROM clause
例如:
DELETE FROM cm_object WHERE id IN(SELECT id FROM cm_object WHERE address_id IN(SELECT id FROM cm_address WHERE building_id IN(SELECT id FROM cm_building WHERE building_name LIKE '图书馆%')));
报错
修改如下:
DELETE FROM cm_object WHERE id IN(SELECT a.id FROM (SELECT id FROM cm_object WHERE address_id IN(SELECT id FROM cm_address WHERE building_id IN(SELECT id FROM cm_building WHERE building_name LIKE '图书馆%'))) a);
执行成功!
--------------------------------------错误小结------------------------------------------