c - BUSY_TIMEOUT 在 SQLITE 中如何工作

标签 c database sqlite

我对 sqlite 3 的 BUSY_TIMEOUT 有一些困惑。

  1. 如果我在打开数据库时设置了 busy_timeout,那么它会在整个周期内存活吗?
  2. 其次,如果它存活下来,那么它会让每个查询等待 BUSY_TIMEOUT 时间,以防数据库被锁定吗?

最佳答案

  1. busy_timeout 设置是针对每个 session 的,也就是说,您需要为每个打开的数据库设置一次。
  2. 当数据库尝试锁定数据库文件时,即当您在事务中首次进行读或写访问时,或者当您使用显式锁定时,数据库将等待。

关于c - BUSY_TIMEOUT 在 SQLITE 中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26866846/

相关文章:

database - 端口重定向不起作用 (80->3306)

sql - 在Rails中查询sqlite哈希列

c++ - com: pDispatch->invoke() 时参数数量无效

c - 在结构中使用 posix_memalign 出现段错误

php - 我可以使用 google maps pin 来填充我网页上的表单吗?

database - 如何转义在 Informix 中用作标识符的保留字

android - SQLite 对比纯文本(安卓/新手)

iphone - sqlcipher:无法访问提供十六进制 key 的数据库

c - 当我在 MATLAB 中单击 UI 按钮时,我需要交替使用 X 和 O

在 C 中运行时检查内核版本