新人关于MySql批量删除数据求教! 本帖最后由 hu83369766 于 2014-08-26 10:39:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用 delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 100000;用limit限制一下,每次只需删除10W条。伪代码如下:int num=select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;while (num>0)do delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 100000; num=select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;done; delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 10000 谢谢 但具体该怎么定义num这个变量呢? 循环的具体格式该咋写呢? 小弟对数据库完全不懂啊 网上查了查 也查不到多少有用的信息 谢谢 但具体该怎么定义num这个变量呢? 循环的具体格式该咋写呢? 小弟对数据库完全不懂啊 网上查了查 也查不到多少有用的信息这个不需要写数据库啊,我这是伪代码,出了sql语句之外,这个num可以在java里面写啊,比如int num=0;num=这里写java代码调用select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;语句给java变量num赋值,然后while或者for,写java循环啊比如while (num>0) do #这里表示只要存在数据就通过java代码执行sql语句进行删除操作。 比如这里就是用java代码调用这个sql语句delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 100000; 来删除数据。 下面在给java变量num重新赋值下,看看批量删除10W后还有没有需要删除的记录。 num=select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;done;这个简单吧,你就是需要写java代码来调用sql语句做你想做的事情而已。当然你不写java写.net或者其它的php等代码都是一个功效。 接私活,被拒绝!失败! mysql5.0数据升级到5.1乱码问题 如何查询MySQL服务器中的所有数据库名称 key_buffer_size对分区表无效? 赋值语句报错 求助,mysql高手!!!! MYSQL 读记录,只能读前7个字段,后面的字段内容为空? 一个关键的问题 请大家访问我的个人站点--Delphi桃花岛,绝对值得去一趟,有数据库辅助设计Case工具(支持MySQL),设计MySQL再不用输入太多代码了 求大神告诉我这条sql怎么写,详情请进贴查看 做一个卖手机号网站,需要在数据库根据规律筛选一些数据出来 字符串循环
while (num>0)
do
delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 100000;
num=select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;
done;
num=这里写java代码调用select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;语句给java变量num赋值,然后while或者for,写java循环啊
比如
while (num>0)
do #这里表示只要存在数据就通过java代码执行sql语句进行删除操作。
比如这里就是用java代码调用这个sql语句delete from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) limit 100000; 来删除数据。
下面在给java变量num重新赋值下,看看批量删除10W后还有没有需要删除的记录。
num=select count(1) from loginfo where log_time < DATE_SUB(CURDATE(), INTERVAL 7 DAY) ;
done;这个简单吧,你就是需要写java代码来调用sql语句做你想做的事情而已。当然你不写java写.net或者其它的php等代码都是一个功效。