mysql 想删除 字段为空的 数据,应该怎么删除,我写的可以查出来,删除却报错啦You can't specify target table 't_test' for update in FROM clause

发布于 2022-01-01 11:30:17 字数 526 浏览 803 评论 6

 DELETE FROM `t_test`  WHERE id  IN ( SELECT  e.id   FROM  `t_test` e  WHERE e.`json` LIKE '') ;

 

1 queries executed, 0 success, 1 errors, 0 warnings

查询:DELETE FROM `t_rsd_screen_result_tmp` where id in ( SELECT e.id FROM `t_rsd_screen_result_tmp` e WHERE e.`json` LIKE '')

错误代码: 1093
You can't specify target table 't_test' for update in FROM clause

执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0.001 sec

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

小瓶盖 2022-01-07 18:42:35

DELETE FROM `t_test` WHERE `json`='' ;

筱武穆 2022-01-07 18:42:29

错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' WHERE `json` LIKE ''' at line 1

清欢 2022-01-07 18:41:25

<e>查询:DELETE FROM `t_test`  WHERE `json` LIKE '' 错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax

等风来 2022-01-07 17:52:17

回复
@心安则灵 : DELETE FROM `t_test` t WHERE t.`json` LIKE '' 另外,如果like里的值是 空字符串,可以直接考虑用 等号

刘备忘录 2022-01-07 08:10:11

一个sql对同个表又查又删,系统懵逼啦

用一个临时表或者中间表,保存select 出来的id,然后删的时候的子查询用这个临时表就ok了

还有一种做法,直接delete就可以了,不用in

DELETE FROM `t_test`  WHERE `json` LIKE ''

直接delete的写法简洁明了,缺点是当 json这个字段不是主键或者索引,且整个表数据量较大的时候,可能会悲剧

千纸鹤带着心事 2022-01-06 11:25:05

这个错误的原因是:更新这个表的同时又查询了这个表,查询这个表的同时又去更新这个表,可以理解为死锁,所以出现了这个问题。

解决方法: 
在第一步中查询最小的编号时,不从主表中去查找,而是根据需要的字段从构建一个第三个表,,从第三个表中去获取数据。 
1.构建第三张表: 
select 编号, 学号,姓名,课程编号,课程名称,分数 from s2_test as s1 
2.从第三张表中查询数据 
select min(编号) as 编号 from 
(select 编号, 学号,姓名,课程编号,课程名称,分数 from s2_test) as s1 
GROUP BY s1.学号,s1.姓名,s1.课程编号,s1.分数 
3.从总表中删除信息不在第二步查询中得到的编号的数据 
DELETE from s2_test where 编号 not in 
(select min(编号) as 编号 from 
(select 编号, 学号,姓名,课程编号,课程名称,分数 from s2_test) as s1 
GROUP BY s1.学号,s1.姓名,s1.课程编号,s1.分数)
————————————————
版权声明:本文为CSDN博主「张一柯」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33824312/article/details/79098795

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文