【发布时间】:2018-01-30 04:39:59
【问题描述】:
我有一个简单的单表 sqlite3 数据库文件,它只有一个表。没有钥匙,无论是国外的还是国内的。没有触发器。我有以下工作流程:
如果数据库文件exixts打开它。
- 开始独占交易
- 按顺序从表中选择所有行。
- 对每一行进行操作。
- 删除每个操作的行。
- 完成后,计算表中剩余的行数,如果为 0 则 DROP 表然后取消链接数据库文件
- 提交或回滚事务
drop-table 总是失败并显示表被锁定的消息。我看过其他一些帖子,这些帖子表明可能存在开放式语句句柄或其他杂物。由于我对所有这些都使用“sqlite_exec()”,因此除了数据库句柄本身之外,我没有任何打开的数据库。
事务中不允许删除表吗?
【问题讨论】:
-
你使用的是共享缓存模式吗?
-
我没有专门设置那个模式。是否默认开启?
标签: sqlite