0

質問があります。SQLiteデータベースを削除しました。

番号1を2に更新した後version、私のデータベースはによって更新されましたonUpgrade()

1-知りたいのですが、古いデータベースを使用できるかどうか。

そしてonUpgrade()私は使用しますdb.drop("previous table");

2-そのテーブルを削除した後、そこからデータを取得できるかどうか。

詳しく説明してください。

どんな良い提案も受け入れられます。

編集済み:-古いバージョンのデータベースを使用できますか?

4

3 に答える 3

1

いいえ、削除したは古いテーブルから何にもアクセスできません。テーブルの削除は削除操作のようなものです。簡単にアクセスを取り戻すことはできません。検索エンジンから取得した最初のリンクから:

テーブルを削除すると、テーブル定義とそのすべての行が削除されます。

以前のデータがまだ必要な場合は、そのデータベースを引き続き使用し、不要になったと感じるまでデータベースを削除しないことをお勧めします。このSOの回答は、テーブルを適切にアップグレードする方法について詳しく説明しています。注意すべき興味深い点の1つは、使用することにした場合、次のことですALTER TABLE

SQLiteはALTERTABLEコマンドに制限されており、テーブルの再作成で行われる削除/削除なしで追加と名前変更を許可します。

したがって、これを操作する方法は複数ありますALTER TABLE。変更する小さなものがある場合は、すべてを破棄する必要はありませんが、少なくとも1つの列/行を削除する必要がある場合は、それに従う必要があります。答えて、一時テーブルを作成します。

于 2013-01-18T04:12:20.587 に答える
1

そのテーブルのデータを引き続き使用する場合は、ドロップしないでください。代わりにALTERTABLEステートメントを使用して、新しいフィールドを追加してください。

于 2013-01-18T04:15:01.443 に答える
1

いいえ。あなたがしなければならないことは、データのコピーを(メモリまたは別のデータベースのいずれかで)取得し、データベースを再作成してから、データを書き戻すことです。

もちろん、これは、アップグレードプロセスのために1つ以上のテーブルを削除する必要がある場合に限ります。新しい列を追加するような単純なケースでは、テーブルを削除/再作成する必要はありません。したがって、プロセスが簡素化されます。

于 2013-01-18T04:21:06.743 に答える