如何检查我们是否在SQLite中进行交易
How can I check whether we are in a transaction in SQLite?
我有多个功能,需要写入数据库,他们互相呼叫。到目前为止,我一直在使用保存点以允许交易嵌套。问题在于,我需要在第一个保存点上获得一个独家锁定,而不是默认的延期锁定(这是必要的,以确保我稍后不会被sqlite_busy停止)。因此,我想做以下操作:
int foo(sqlite3 *db){ 未签名的char wasin = 1; 如果(!sqlite3_isintransaction(db)){ sqlite3_query(db,"开始独家交易"); wasin = 0; } ...做东西.... 如果(!wasin){ sqlite3_query(db,"提交事务"); }}
任何想法如何完成?
您检查了此功能吗?:
http://www.sqlite.org/c3ref/get_autocommit.html
sqlite3_get_autocommit()接口返回非零或零,如果 给定的数据库连接是或不处于自动通信模式, 分别。默认情况下,自动加入模式开启。自动加入模式是 通过开始语句禁用。自动加入模式由 提交或回滚。
因此,如果开始开始,则sqlite3_get_autocommit()
将返回0
相关文章:
- 查询SQLite数据库中的日期
- 带内存和隔离功能的SQLite
- Qt SQLite没有查询或参数计数不匹配
- Qt SQlite无法创建表
- 数数并选择 sqlite 中的前三名
- 如何使用SQLite将数据库中的值导出为C / C++中的字符串或字符?
- 如何使用SQLite在qt中创建表?
- 使用 cl 构建代码并连接到 sqlite 库
- 连接到 URL Sqlite 数据库C++
- protobuf C++ SQLite handle blob data
- 损坏的结构字符数组 - sqlite C++
- 使用 SQlite 在 QT5 上关闭和打开数据库时出错
- 在SQLITE数据库中写入记录需要花费大量时间.如何提高刀片操作效率?
- SqLite c++,可以创建数据库,但不能将 anthing 插入到表中
- 如何使用C ++将SQLite数据库中的所有表从一个数据库复制到另一个数据库
- 优化使用 C++ 查询 SQLite DB 中超过 5000 万条数据记录的方式
- POST Arduino 传感器值通过 Flask API 发送到本地 Sqlite db
- 将数据从 SQLite 数据库保存到变量中
- Metatrader 5 向导无法识别我的自定义交易信号模块
- 如何检查我们是否在SQLite中进行交易