解决Mysql执行删除操作报错:1093的问题

本文讲述了如何修复在执行SQL语句时遇到的错误1093,即无法在FROM子句中指定目标表't_info'进行更新。通过将子查询结果暂存到临时表,然后用临时表作为删除条件,解决了这个问题。关键步骤包括创建临时表、更新条件和实际删除数据。

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 )

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值