mysql的delete语句使用exists删除数据走不通
mysql中,打算使用exists查找相关记录,然后删除,结果搞不定。
我们有个表folder,里面有个字段code存在重复值,本来编码应该是唯一的。因此想将重复记录删除。
这样
delete from folder fd1 where exists(
select 1 from folder fd2 where id<>fd1.id and code=fd1.code);
不行!
这样
delete from folder where id in(
select id from folder fd1 where exists(
select 1 from folder fd2 where id<fd1.id and code=fd1.code));
还是不行!
查找网上的例子:
DELETE tbFROM tb LEFT JOINtb tb2ON tb2.`merchantId` = 'A32WNPGI8GE4WW' ANDtb2.`marketplaceId` IN ('A1AM78C64UM0Y8', 'A2EUQ1WTGCTBG2', 'ATVPDKIKX0DER')WHERE tb2.merchantID IS NULL;
我去,这是什么鬼,看不懂。
心一横,使出绝招,先将重复记录的ID保存进临时表,然后结合该临时表删除,最后打扫战场,删除临时表,深藏功与名。
create temporary table tmp_folder_id as select id from folder fd1 where exists(select 1 from folder fd2 where id<fd1.id and code=fd1.code);delete from folder where id in(select id from tmp_folder_id);drop table tmp_folder_id;
mysql的delete语句使用exists删除数据走不通相关推荐
- mysql的delete语句_mysql删除语句
展开全部 mysql删除语句如下: 1.delete删除一行:delete from student where id=1. 2.delete删除多行:delete from student wher ...
- mysql批量删除数据sql语句_mysql批量删除数据sql语句详解
1.like与 in批量删除指定记录 like语法 like主要是用来模糊查询了 sql = "delete from A where field like '%ABC%'" 这个 ...
- MySQL(16)--- DELETE 语句
你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录. 你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令. 语法 以下是 SQL DELETE 语 ...
- MySQL中包含外键无法删除数据的解决方案
1.在数据库连接信息加入以下代码,意思就是允许执行多语句查询. allowMultiQueries=true 2.在删除语句前面加上SET FOREIGN_KEY_CHECKS=0; 意思就是取消My ...
- mysql删减表的关键字_Mysql 删除数据及数据表
在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失. 删除数据 删除表内数据,使用delete关键字. 删除指定条件的数据 删除用户表内id 为1 的用户:d ...
- 使用T-SQL语句操作数据表-删除数据
1.使用 delete 语句删除表中的数据: 语法: delete from <表名> [where <删除条件>] delete 是删除的意思 where是选填内容可以不加, ...
- mysql使用delete from where in 删除时报错如何解决
数据库存在重复的垃圾数据想利用delete from where in删除,语句如下: DELETE FROM tms_daily_plan WHERE tms_daily_plan_id IN ( ...
- mysql drop table 释放空间_MySQL删除数据几种情况以及是否释放磁盘空间【转】
MySQL删除数据几种情况以及是否释放磁盘空间: 1.drop table table_name 立刻释放磁盘空间 ,不管是 Innodb和MyISAM ; 2.truncate table tabl ...
- 【MySQL】sql语句中exists和in有何区别?
1.概述 sql语句中exists和in有何区别? SQL语句优化有哪些方法? sq|语句中exists和in有何区别如下: exists是用循环( loop )的方式,由outer表的记录数决定循环 ...
- mysql数据库中删除数据用什么语句_mysql数据库删除数据语句
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
最新文章
- Android之EditText的各种使用
- 【XAudio2】1.XAudio2 介绍
- Java8 LinkedHashMap 源码阅读
- boost::histogram::detail::argument_traits用法的测试程序
- express 对数据库数据增删改查
- Docker存储驱动之OverlayFS简介
- silverlight,WPF动画终极攻略之阳光灿烂篇(Blend 4开发)
- leetcode 509. 斐波那契数(dfs)
- 算法入门篇二 认识O(NlogN)的排序
- Mariadb /MySQL max_allowed_packet设置及问题
- 为什么设置了面容ID,仍然需要输入密码解锁iPhone?
- 个人关于颈椎病治疗和保养的一些经验总结!
- Strurts(四)——从Struts原型模拟看大道至简(含实例下载)
- 让代码审查扮演更好的角色
- f.readline()和f.readline()和f.read()
- C语言在学习编程的作用并简单了解一下C语言
- 泰国ATM机被入侵致1200多万泰铢被盗,幕后黑客留疑团
- 最后一次正确配置计算机,win10进入最后一次正确配置的三种方法
- Linux之搜索路径PATH
- Trunking学习总结