我有个表t,含a,b,c,d四个字段,无主外键、约束关系等,但数据量很大,每次操作只能排序后操作一部分,比如 select * from t order by t.a asc limit 200 offset 1000,然后,我想删除这次选择出来的这200条记录,如何实现呢?
解决方案 »
- mysql存储过程问题
- 连接数据库MySql异常:java.io.ioexception: unexpected end of input stream ,请前辈帮忙,急!!!
- XP能装mysql吗?
- 当有多条查询时如何提高查询速度?
- 为什么扣我分.................????????
- linux环境下,c如何连接mysql数据库,怎样下手?!
- show processlist 中的连接数数量 比 mysql数据库连接池最大连接数的限制要多
- 请教一个sql语句写法
- MySQL5.6.16,like '%zhangsan%',用explain得到的结果让我迷惑了。
- mysql主从同步卡住的问题~
- mysql 创建外键提示ERROR 1064(42000)错误,谢谢
- SQL语句问题。。。!!!!!!!!!!!!!
********** 错误 **********
错误: 语法错误 在 "order" 或附近的
并且,即使能行的话,也只能是大致正确,不能保证delete的完全就是select出来的内容。
delete a from t a,(select * from t order by t.a asc limit 200 offset 1000) b where a.id=b.id
定期检测表t的内容,只保留预先定义的容量,对于超过容量的部分则导出到文件中(通过copy 排序后的表内容 to file),同时在数据库表中删除掉导出的记录,但不允许丢失记录。