我的sqlite3数据库显示此错误:
Array (
[0] => HY000
[1] => 5
[2] => "database is locked"
)
我已经使用php PDO连接sqllite3数据库。我已成功从数据库读取但无法更新/插入数据库。它始终显示在错误之上。
我已经尝试了777对数据库的权限,并且还使用它进行了测试,但得到了相同的结果。
我使用$db->beginTransaction();
和$dbhandle->commit();
现在问题是我在更新查询之前使用了begintransaction并在执行query之后提交。每次返回true但不影响数据库。关于它的任何想法?
注意:查询需要很长时间才能显示错误。
答案 0 :(得分:1)
我已经解决了我的问题。
sqlite3数据库中的问题。我在Ubuntu 10.04上使用了sqlite3 3.6.22,这个sqlite3不支持多线程,所以我在sqlite3 3.7.7版本上测试过并使用了从http://www.sqlite.org/wal.html读取的Pragma命令。
答案 1 :(得分:0)
确保数据库文件所在的目录具有db用户的写入权限。在数据库中写入时会创建一个临时文件。
希望它有所帮助。