-
sqlite 查询报错
- 问题:sqlite 如何查询数据库倒数第二条数据
select * from info where date in (select date as be_date
from (select date from info order by mid desc limit 2)
limit 1,1)
-
- 问题:sqlite database is locked
原因是sqlite对数据库做修改操作时会做(文件)锁使得其它进程同一时间使用时会报该错误(也就是SQLITE_BUSY),
但如果仅是多进程或多线程查询sqlite是支持的。也有可能是做sql开启事务查询等发生异常,数据库没有关闭,然后再去打开就锁定了
解决方法有:
1、使用进程或线程间的同步机制以避免同时操作;如用信号量,互斥锁等(pthread_mutex_lock,
pthread_mutex_unlock),如果你的项目工程较大要求较高的话建议用此方法自行封装函数处理同步
2、使用sqlite提供的两个busy handler函数,但对于一个连接来说,只能有一个busy handle,两个函数会相互影响,设
置一个的同时会清除另一个,应根据需要来选择
-
相关阅读:
排序算法之快速排序
设计模式之原型模式
设计模式之门面模式
第五十四课 树中节点的插入操作
第五十三课 树中节点的查找操作
第五十二课 树的存储结构与实现
第五十一课 树的定义与操作
第五十课 排序的工程应用示例
第四十九课 归并排序和快速排序
第四十八课 冒泡排序和希尔排序
-
原文地址:https://www.cnblogs.com/xiaowa/p/13473834.html
Copyright © 2020-2023
润新知