0

私のsqlite3データベースはこのエラーを表示します:

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

sqllite3 データベースの接続に php PDO を使用しました。データベースからの読み取りは成功しましたが、データベースへの更新/挿入ができません。常に上記のエラーが表示されます。

データベースへの 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 から読み取ったプラグマ コマンドを使用しました。 html .

于 2012-09-13T04:56:10.430 に答える
0

データベースファイルがあるディレクトリに、データベースのユーザーの書き込み権限があることを確認してください。データベースに書き込むと、一時ファイルが作成されます。

それが役に立てば幸い。

于 2012-09-12T17:16:58.467 に答える