0

我的 sqlite3 数据库显示此错误:

Array (
  [0] => HY000
  [1] => 5
  [2] => "database is locked"
)

我已使用 php PDO 连接 sqllite3 数据库。我已成功从数据库中读取,但无法更新/插入数据库。它总是显示上述错误。

我已经尝试了 777 对数据库的权限并对其进行了测试,但得到了相同的结果。

我已经使用$db->beginTransaction();和解决了上述问题$dbhandle->commit();

现在的问题是我在更新查询之前使用了 begintransaction 并在执行查询之后提交。查询每次都返回 true 但不影响数据库。有什么想法吗?

注意:查询需要很长时间才能显示错误。

4

2 回答 2

2

我已经解决了我的问题。

sqlite3 数据库中的问题。我在 Ubuntu 10.04 上使用了 sqlite3 3.6.22,这个 sqlite3 不支持多线程,所以我在 sqlite3 3.7.7 版本上进行了测试,并使用从http://www.sqlite.org/wal 读取的 Pragma 命令。 .html _

于 2012-09-13T04:56:10.430 回答
0

确保数据库文件所在的目录对 db 的用户具有写权限。写入数据库时​​会创建一个临时文件。

希望能帮助到你。

于 2012-09-12T17:16:58.467 回答