易截截图软件、单文件、免安装、纯绿色、仅160KB

如何在sqlite中删除前N条记录

如题,没有主键,我只要删除前N条记录。n数值大概在千万级别的。
没有主键

有没有其它可供排序的字段?

SQL code:
delete from tb where id in (select top n id from tb)


引用
没有主键

有没有其它可供排序的字段?

有的。可是数据上千万条的

delete from tt where 排序的字段 in (select 排序的字段 from tt order by 排序的字段 limit 0,n-1)

最坏的情况:这些数据都是相同的怎么办呢?

加入自增字段ID

引用引用 1 楼 acmain_chm 的回复:
没有主键

有没有其它可供排序的字段?

有的。可是数据上千万条的


SQL code:
delete from yourTable order by 排序的字段 limit n



测试了一下,4楼的代码可以通过

的确可以,就是效率太低,我数据库中有近亿条数据,一次删除1000万条的。
有点慢

引用我数据库中有近亿条数据,一次删除1000万条的。


delete from yourTable order by 排序的字段 limit n

最好在 排序的字段 上索引。

两种思路:
1种是直接删除
1种是将剩余的记录生成新表


相关问答:

SQLITE下如何删除内容中的第一个<br>

SQLITE下如何删除内容中的第一个<br>
SQLITE下不好用 
提示: 
sqlite error 
no such function: stuff 
怎么解决?
SQL code:
--------------------------------------------- ......

sqlite移植wince

我想在pda上用SQLite数据库,我程序是qt写的,但是我应该怎样将SQLite移植到wince平台上呢,我现在有了SQLite.dll和SQLite.lib,之后我交叉编译生成了.exe文件,为什么在模拟器上不能运行呢?
期待着高手回答,谢谢 ......

请教sqlite数据库中文乱码的问题

开发语言:evc
数据库:SQLite
说明:有两个界面
界面一个是用来建立数据库,并且进行数据管理功能,包括ctrlist控件显示数据库内容,增加,删除,修改等功能;
界面二,是调用数据库,进行查询,显示结 ......

sqlite在linux上的使用

要在linux上使用sqlite是不是要先编译安装?怎么安装?
c#+sqlite+linux的相关应用有没有一些相关资料?
linux 上能运行C# ?

你可以下载编译好的,也可以下载源代码再自己编译
http://www.sqlite.org/downl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号