1、执行类似如下语句:
-- -- 需要执行删除操作的目标表和原表一致
delete from t_info where id in (SELECT id FROM `t_info` where id = 246 )
2、报错如下:
[Err] 1093 - You can't specify target table 't_info' for update in FROM clause
3、解决方案:
1)、把子查询的结果创建临时表存储。
2)、把这个临时表作为原表删除的条件。
3)、删除表数据。
-- 1)、把子查询的结果创建临时表存储。2)、把这个临时表作为原表删除的条件。3)、删除表数据。
delete from t_info where id in (select a.id from ( SELECT id FROM `t_info` where id = 246 ) as a )
本文讲述了如何修复在执行SQL语句时遇到的错误1093,即无法在FROM子句中指定目标表't_info'进行更新。通过将子查询结果暂存到临时表,然后用临时表作为删除条件,解决了这个问题。关键步骤包括创建临时表、更新条件和实际删除数据。
1067

被折叠的 条评论
为什么被折叠?



