3


必然的に同じデータベースファイル/テーブル(SQLite)に同時にアクセスしようとする2つの独立したプログラム(SqlAlchemy / ORM / Declarativeを使用)を用意します。
どちらも、そのテーブルに対して読み取りまたは書き込みを行うことができます。
これが起こったときに紛争が発生しますか?
答えが「はい」の場合、これをどのように処理できますか?

4

1 に答える 1

3

あなたが説明したように、Sqliteはどんな問題にも耐性があります。http://www.sqlite.org/howtocorrupt.htmlは、何が問題を引き起こす可能性があるかについての詳細を提供し、通常、コードが誤って実行する可能性のあるものから分離されています。

アプリケーション データ アクセスの性質が原因で懸念がある場合は、必要に応じてBEGIN TRANSACTIONand COMMIT/を使用してください。ROLLBACKトランザクションが単一のクエリ アクセスである場合 (つまり、あるクエリで値を読み取ってから、既に読み取ったものと比較して別のクエリで値を変更しない場合)、これは必要ありません。

于 2012-04-03T20:48:48.900 に答える