MySQL #1093 error错误处理,错误语句:
DELETE FROM table_a WHERE url_id NOT IN (
SELECT table_a.url_id FROM `table_a` INNER JOIN table_b WHERE table_a.binding_url_id = table_b.url_id
)
错误原因:mysql的修改语句中的子查询不能是同一张表;
解决方案:将子查询外面嵌套临时表,主语句( SELECT * FROM(子语句)tmp);
优化后语句:
DELETE FROM `table_a` WHERE url_id NOT IN (
SELECT * FROM
(
SELECT table_a.url_id FROM `table_a` INNER JOIN table_b WHERE table_a.binding_url_id = table_b.url_id
) tmp
)
问题解决;
mysql #1093 - You can't specify target table_a for update in FROM clause/mysql #1093 解决方法
最新推荐文章于 2023-04-19 07:31:59 发布