mysql中进行删除操作时用到not in 导致删除不成功

delete from tb_news where id not in ( select max(id) From tb_news Group By title )

刚开始用这条语句删除一直不成功

然后百度了一下,说是要建立一张临时表

于是进行了以下操作

先建立一个临时表

 CREATE TEMPORARY TABLE tmp_news (
  `id` BIGINT(20)
)

然后执行以下语句

delete from tb_news where id not in  (SELECT * from ( select max(id) From tb_news Group By title ) t)

删除成功!

原文地址:https://www.cnblogs.com/liangshandada/p/8831609.html

时间: 2024-08-04 05:53:51

mysql中进行删除操作时用到not in 导致删除不成功的相关文章

MySQL中的分页操作结合python

mysql中的分页操作结合python --分页: --方式1: select * from ta12 limit 10;-- 读取十行 select * from ta12 limit 10,10 --从第十行读取 往后再读十行 --方式2: select * from ta12 limit 10 offset 20 ; --从第二十行开始读取10行 -- 结合python 分页: page = input('请输入要查看的页码') page = int(page) select * from

[Word]解决Word中执行输入操作时后面字符自动被删除的问题

问题分析:这是由于当前输入方式为"改写",在此方式下,如果某个位置处后面有其他字符,当在此位置执行输入操作时,就会默认删除其后的所有字符. 解决方案:Word窗口下边缘状态栏,找到"改写"按钮,点击,使其切换为"插入",问题解决. 说明:如果找不到"改写"按钮,是因为被隐藏了.右键点击状态栏,可将此按钮调出来.

mysql中,执行delete语句时出现Lock wait timeout exceeded问题

问题描述: 当我插入一条记录时,在调用save方法的时候出现了异常(记录重复了),导致了后面的commit语句不能执行了.这时我在数据库中删除重复记录时发现该表已经被锁上了.即出现错误.但过了一会再次执行delete,就能成功删除记录了. 原因分析: 由于commit语句没有执行到,即事务没有提交成功,表还是被锁着的.只能等锁超时了,才能再次执行delete等操作. 解决办法: 1.遇到问题后可以kill掉对应的线程再次执行delete等操作. 2.为避免问题出现,可以开启mysql中的auto

mysql执行大量的操作时,报无法连接数据库的错误

问题:mysql执行大量的插叙操作时,报无法连接数据库的错误,错误详情如下: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (99)' in /mnt/Change/www/html/data/conn.php:5 Stack trace: #0 /mnt/Change/www/html

mysql中的表操作

------------恢复内容开始------------ 创建数据库 create database 数据库名 切换数据库 use 数据库名 建表: create table 表名 ( 字段名1,类型,约束 字段名2,类型,约束 ... ) 约束: 1.主键约束 1)直接在建表时字段类型后加 primary key 2)在表最后加 constraint 约束名 primary key(字段名) 3)表外修改 alter table 表名 add constraint 约束名 primary

MySQL中order by排序时,数据存在null咋办

order by排序是最常用的功能,但是排序有时会遇到数据为空null的情况,这样排序就会乱了,这里以MySQL为例,记录我遇到的问题和解决思路. 问题: 网页要实现table的行鼠标拖拽排序,我用AngularJs集成了一个TableDnD开源插件,可以实现,然后在数据库表中增加一个排序字段indexId,但是原来的大量数据是没有排序过的,所以该字段为null. 这样order by时,为null的数据就会排在最前边. 写个测试表模拟一下,如下效果: 解决办法: 最优办法:利用MySQL中的一

一个UITableView删除操作时的异常处理

现象:删除某行的时候,出现如下异常信息 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0.  The number of rows contained in an existing section after the update (5) must be equal to the number of rows contained in that sect

mysql中的一些操作

查询mysql中事务提交的情况: show variables like '%commit%'; 可以查看当前autocommit值 在mysql数据库中它的默认值是"on"代表自动事务. 自动事务的意义就是:执行任意一条sql语句都会自动提交事务. 测试:将autocommit的值设置为off 1.set autocommit=off 关闭自动事务. 2.必须手动commit才可以将事务提交. 注意:mysql默认autocommit=on oracle默认的autocommit=o

MYSQL中的SELECT查询时进行运算

SELECT在mysql中是查询表中的数据的作用,但也可以在查询的时候直接进行运算,然后返回查询后的结果 比如 1 SELECT user,math*(IFNULL(adven,0)) FROM username2 其中的IFNULL函数是对adven数据进行判断,若adven中的数据不为NULL,则返回adven本身的数据,若为NULL,则返回0. 其它+,-,/的运算也可以如同上面的代码进行替换而已. 更多函数 函数 描述 AVG(column) 返回某列的平均值 COUNT(column)