`
xly_971223
  • 浏览: 1276860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql比较恶心的一个delete in操作

阅读更多
mysql中
delete from sns_hits where id not in (1,2,3)
是没有问题的
delete from sns_hits where id not in (select id from another_table)
也是麽有问题的

但是
delete from sns_hits where id not in (select id from sns_hits) 
就TMD有问题了

解决棒法是创建临时表
CREATE TEMPORARY TABLE tmp_sns_hits (
  `id` BIGINT(20) 
)


太丫恶心了
0
0
分享到:
评论
4 楼 仅此而已 2012-08-21  
起个别名就好!

DELETE   FROM t_tag
WHERE id NOT IN (SELECT * FROM (SELECT MAX(t .id) AS id FROM t_tag t GROUP BY tagname)t)
3 楼 kjj 2009-07-20  
delete from sns_hits where id not in (select id from sns_hits)  


好神奇哦,作者用这个语句来干什么啊
从这个表里删除不在这个表里的元素?
2 楼 xly_971223 2009-07-19  
不是流氓 写道
delete from sns_hits where id not in (select id from sns_hits)   

有这样的需求

后面的select 加个where怎么养?
1 楼 不是流氓 2009-07-19  
delete from sns_hits where id not in (select id from sns_hits)   

有这样的需求

相关推荐

    MySQL DELETE 删除语句加锁分析1

    使用唯一索引执行DELETE操作时,由于唯一索引能唯一标识一行,所以锁定的范围更小。在示例中,只有匹配的行会被锁定,没有Gap锁,这减少了锁定资源,提高了并发性能。 3. 主键删除一条存在的记录: 主键作为唯一...

    MySQL执行delete误删除数据恢复

    my2sql是一个开源工具,可以帮助解析binlog中的DML操作(如INSERT, UPDATE, DELETE),并生成相应的回滚操作(INSERT)。在使用my2sql之前,确保MySQL用户的认证插件是mysql_native_password,以便工具能够正确解析...

    mysql delete 多表连接删除功能

    MySQL中的`DELETE`语句是用于从数据库中删除数据行的关键命令。在处理单个表时,`DELETE`语句的使用相对简单,而在多表环境中进行连接删除时,其复杂性和潜在影响则显著增加。这里我们将深入探讨`DELETE`语句的各种...

    mybatis mysql delete in操作只能删除第一条数据的方法

    在使用MyBatis进行MySQL数据库操作时,可能会遇到一个常见的问题,即使用`DELETE IN`语句删除多条记录时,实际上只能删除第一条数据。这个问题通常是由代码实现中的一个小错误导致的。本文将深入探讨这个问题的原因...

    Delete User using mysql in vb6_delete_deleteusing_drawrj2_Usermy

    要连接VB6到MySQL,你需要一个数据库驱动,如ODBC(Open Database Connectivity)或ADO(ActiveX Data Objects)。VB6通过ADO可以方便地访问各种数据库,包括MySQL。你需要在服务器上安装MySQL ODBC驱动,并在客户端...

    jsp操作mysql简单实例

    在与MySQL数据库交互时,JSP通常会创建一个`java.sql.Connection`对象,通过`DriverManager.getConnection()`方法连接到数据库,然后使用`Statement`或`PreparedStatement`对象执行SQL语句。例如,创建用户时,可能...

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    MySQL数据库应用实验训练3 数据增删改操作 MySQL数据库应用实验训练3 数据增删改操作是国家开放大学提供的实验训练,旨在让学生熟悉 MySQL 数据库的基本操作,包括数据的增删改操作。实验中,学生将学习使用 Insert...

    C#实现Mysql数据库操作实例(含源码)

    - **插入、更新和删除**:对于DML操作(INSERT、UPDATE、DELETE),同样使用`MySqlCommand`,但需调用`ExecuteNonQuery()`。 5. **处理结果集**: 对于查询操作,`MySqlDataReader`可以遍历结果集。例如: ```...

    mysql常用操作命令

    mysql是一个流行的关系数据库管理系统,作为开发人员,掌握mysql的常用操作命令是非常必要的。本文将对mysql的常用操作命令进行总结,包括连接mysql、查询版本信息、查询当前日期、查询服务器中的所有数据库、使用...

    vc 操作mysql数据库

    "vc 操作mysql数据库"这个主题涉及到Windows应用程序开发中的一个重要方面:如何与数据库进行交互。在这个完整DEMO中,它包含了处理复选框的功能,允许用户选择数据后进行删除操作。 首先,我们来了解基础概念。...

    mysql命令行操作详细

    例如,要增加一个用户 test1,密码为 abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限,可以使用以下命令:grant select,insert,update,delete on *.* to test1@”%” identified by ...

    MySQL删除表操作实现(delete、truncate、drop的区别)

    本文主要讲mysql中三种删除表的操作,delete语句、truncate语句以及drop语句的区别: 简介 delete 1、删除整张表的数据: delete from table_name; 2、删除部分数据,添加where子句: delete from table_name ...

    mysql_delphi操作mysql例程_

    在Delphi中操作MySQL,我们需要依赖一个名为`mysql`的单元文件(如mysql.pas和mysqli.pas)。这些文件包含了必要的接口和类,允许Delphi程序连接到MySQL服务器,执行SQL查询,处理结果集等。例如,`TMySQLConnection...

    C#操作MySQL数据库

    连接MySQL数据库需要创建一个 MySqlConnection 对象,并设置正确的连接字符串。连接字符串通常包含服务器地址、数据库名、用户名和密码。例如: ```csharp using MySql.Data.MySqlClient; ... string ...

    C#连接Mysql封装类操作

    接下来,让我们看下`cMysql.cs`这个文件,它可能包含了一个封装类,用于简化数据库操作。通常,这样的类会包含以下方法: 1. **连接方法**:如`Connect()`,创建并打开一个到MySQL服务器的连接。它可能使用`MySql...

    c#操作MySQL数据库封装类

    我们可以创建一个`MySqlCommand`对象,设置其`CommandText`属性为SQL语句,然后通过`ExecuteNonQuery()`(用于INSERT/UPDATE/DELETE)、`ExecuteScalar()`(返回单个值)或`ExecuteReader()`(返回数据集)执行命令...

    mysql 删除操作(delete+TRUNCATE)

    MySQL中的删除操作主要涉及到两种方式:DELETE和TRUNCATE,它们在不同的场景下有不同的优势和用途。下面将详细解析这两种方法以及它们的使用细节。 1. DELETE语句: DELETE语句是最常用的删除数据的方式,它允许...

    新手学习,php7中mysql数据库操作类实例,非常清晰易懂

    在PHP7中,MySQL数据库操作通常使用mysqli或PDO_MySQL扩展进行,但对于新手来说,创建一个封装好的数据库操作类可以简化很多工作。这个实例主要介绍如何构建一个PHP7中的MySQL数据库操作类,以实现连接、查询、插入...

Global site tag (gtag.js) - Google Analytics