如何在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
SQL code:
delete from yourTable order by 排序的字段 limit n
测试了一下,4楼的代码可以通过
的确可以,就是效率太低,我数据库中有近亿条数据,一次删除1000万条的。
有点慢
delete from yourTable order by 排序的字段 limit n
最好在 排序的字段 上索引。
两种思路:
1种是直接删除
1种是将剩余的记录生成新表
相关问答:
string ConStr="data source=C:\ceshi.db;verson=3;password=123456";
SQLiteConnection MyConnection = new SQLiteConnection(ConStr);
try
{ ......
小弟 弄点东西可是调用 sqlite3_prepare 这个函数 select 就好使 只要 改变数据库 的就不行 比如insert 之类的 谁来帮个忙啊 请问这是什么原因 啊 用 c 去实现的
你用的什么工具啊?
把你自己的代码发 ......
我想在pda上用SQLite数据库,我程序是qt写的,但是我应该怎样将SQLite移植到wince平台上呢,我现在有了SQLite.dll和SQLite.lib,之后我交叉编译生成了.exe文件,为什么在模拟器上不能运行呢?
期待着高手回答,谢谢 ......