我有一个简单的单表 sqlite3 数据库文件,它只有一个表。没有钥匙,无论是国外的还是国内的。没有触发器。我有以下工作流程:
如果数据库文件exixts打开它。
- 开始独家交易
- 按顺序从表中选择所有行。
- 对每一行进行操作。
- 删除每个操作的行。
- 完成后,计算表中剩余的行数,如果为 0 则 DROP 表然后取消链接数据库文件
- 提交或回滚事务
删除表总是失败并显示表被锁定的消息。我看过其他一些帖子,这些帖子表明可能存在开放式语句句柄或其他杂物。由于我对所有这些都使用“sqlite_exec()”,所以除了数据库句柄本身之外,我没有任何打开的数据库。
事务中不允许删除表吗?