如何在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种是将剩余的记录生成新表
相关问答:
大家好!
sqlite字段为float型的值怎样访问?
试过用sqlite3_column_double,确返回的数据不正确;
没用过,帮顶.
一样啊,返回全是 string
你的代码是什么?
double sqlite3_column_double(sqli ......
string ConStr="data source=C:\ceshi.db;verson=3;password=123456";
SQLiteConnection MyConnection = new SQLiteConnection(ConStr);
try
{ ......
手头有一个小CASE,要用到数据库,想采用SQLite。
有用过的朋友吗?
要怎么安装sqlite服务?还是不需要安装?
用什么软件来管理Sqlite数据库?如添加表,写存储过程等。
delphi中怎么样连接到sqlite数据库?用什 ......
现在想做一个进销存,可能会有20人同时一起用
不知道到是选择 sqlite 还是 access
大家给给意见吧
还是用access吧,因为你肯定是用.net开发,出了什么问题的话好解决一些。
如果用sqlite资料相对比较少。
不过听 ......
刚学sqlite,创建了个表,退出sqlite又重新打开后,查询说没有这个表。怎么样才能保存这个表呢,windows下
直接运行sqlite3.exe,然后就就直接create table Test了
退出sqlite3.exe 重新打开,select就提示没有这 ......