醉了,mysql的删除居然变得这么麻烦 delete from table where id in()

居然要加这么多层,还需要在里面加一个别名才可以。

删除标题重复的旧记录。

delete from theTable where id in
(
	select id from
	(
		select min(id) id from theTable group by title HAVING count(*)>1
	) ids
) ;
时间: 2024-08-17 13:11:22

醉了,mysql的删除居然变得这么麻烦 delete from table where id in()的相关文章

MySql级联删除和更新

文章来源:http://blog.csdn.net/doupei2006/article/details/7949077 (一)利用外键实现级联删除 1.先建立测试数据库 CREATE TABLE `roottb` ( `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL, `data` VARCHAR(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) TYPE=InnoDB; CREATE TABLE `subt

mysql数据删除恢复

在日常运维工作中,对于mysql数据库的备份是至关重要的!数据库对于网站的重要性使得我们对mysql数据的管理不容有失!然后,是人总难免会犯错误,说不定哪天大脑短路了来个误操作把数据库给删除了,怎么办??? 下面,就mysql数据库误删除后的恢复方案进行说明. 一.工作场景(1)MySQL数据库每晚12:00自动完全备份.(2)某天早上上班,9点的时候,一同事犯晕drop了一个数据库!(3)需要紧急恢复!可利用备份的数据文件以及增量的binlog文件进行数据恢复. 二.数据恢复思路(1)利用全备

MySQL完全删除教程

1.管理工具---服务里面停止Mysql服务. 2.控制面板---卸载Mysql,删除C:\Program Files\MySQL目录. 3.这是最关键一步,只做前面两步,密码还是修改不了,因为MySQL 还有文件,也就是在C:\Documents and Settings\All Users\Application Data里面的MySQL文件夹,这个文件没有清除是MySQL重装出现旧密码的根源所在.于是删除MySQL文件夹. 4.检查C:\WINDOWS目录下是否有my.ini文件,将其删除

mysql优化, 删除数据后物理空间未释放(转载)

OPTIMIZE TABLE 当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删除操作后在数据文件中留下碎片所致.OPTIMIZE TABLE 是指对表进行优化.如果已经删除了表的一大部分数据,或者如果已经对含有可变长度行的表(含有 VARCHAR . BLOB 或 TEXT 列的表)进行了很多更改,就应该使用 OPTIMIZE TABLE 命令来进行表优化.这个命令可以将表中的空间碎片进行合并,并且可以消除由于删除或者更新造成的空间浪费 .OPTIMIZE TABLE

MySQL中删除数据的两种方法

转自:http://blog.csdn.net/apache6/article/details/2778878 在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句. DELETE语句可以通过WHERE对要删除的记录进行选择.而使用TRUNCATE TABLE将删除表中的所有记录.因此,DELETE语句更灵活. 如果要清空表中的所有记录,可以使用下面的两种方法: DELETE FROM table1 TRUNCATE TABLE table1 其

mysql级联删除更新

首先,目前在产品环境可用的MySQL版本(指4.0.x和4.1.x)中,只有InnoDB引擎才允许使用外键,所以,我们的数据表必须使用InnoDB引擎. 下面,我们先创建以下测试用数据库表: CREATE TABLE `roottb` (   `id` INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,   `data` VARCHAR(100) NOT NULL DEFAULT '',   PRIMARY KEY (`id`) ) TYPE=InnoDB; CR

mysql关联删除记录

在项目开发过程中,要删除表中的记录数据,但是给的字段值不是本表中的字段值,试了很多方法都没有成功,最后看到这个方法挺好用的: DELETE g FROM ws_group_users g, yf_user u WHERE g.userid=u.id and u.phone=? mysql关联删除记录,布布扣,bubuko.com

Mysql 如何删除数据表中的重复数据!

1.使用distinct查询所有不重复的记录 2.创建数据表相同结构的临时表,将第一步的数据复制进去 create temporary table if not exists student_temp as (select distinct(name), sex from student); 3.truncate table student; 4.insert into student(id,name,sex) select null,name,sex from student_temp; My

mysql 关联删除

参考网址:http://www.111cn.net/database/mysql/51146.htm 原网页广告太多,自己抄了下. 1.delete from t1 where 条件2.delete t1 from t1 where 条件3.delete t1 from t1,t2 where 条件4.delete t1,t2 from t1,t2 where 条件前3者是可行的,第4者不可行.也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除关