2016-09-16 11 views
0

selectコマンドでsqliteデータベースを変更する方法はありますか?私はそうではないと思うだろうが、その前提に頼りたくはない。 (私が気にしていた具体的な懸念は、たとえば、データベースをクエリするなどしてインデックスや類似したものを作成してその後の検索を高速化したためにSQLファイルが変更された場合です)。とにかくSQLデータベースを編集するコマンドを選択できますか?

[sqlファイルが編集されている場合にのみ、これらの値を更新します(特に、バイトファイルのサイズが変更された場合、SQLデータベースが変更されたことを示します)。具体的な計算は非常に計算量が多いので、除外しない限り繰り返したくない。

+1

データベースのトリガーを使用して、関連するテーブルの挿入/更新/削除を監視し、それに基づいて計算を開始することを検討してください。 – NicoE

+0

データベースを更新しても、たぶんタイムスタンプを見ることができますが、NicoEが言ったようにトリガーは確かに行く方法です。 – topshot

+0

@topshot - ありがとう - ああ、ファイルサイズはおそらく私がそれについて考えていない貧しい選択だった。トリガーも検討します。 – kyrenia

答えて

1

SELECT文ではデータベースを変更できません。

SQLiteは一時インデックスや中間結果を格納する必要があることがありますが、そのようなデータは実際のデータベースファイルではなく一時データベースに格納されます。

とにかく、データベースファイルが変更されているかどうかを調べるには、file change counterにチェックを入れてください。

関連する問題