0

assets フォルダーに送信された DB を使用する Android アプリケーションに取り組んでいます。定期的に、データベース内のテーブルの 1 つを更新する必要がありますが、他のテーブルの内容を削除する必要はありません (ユーザーからのデータがあるため)。

DB のバージョンを上げると DB 全体がアップグレードされることを読みましたが、それはすべてのテーブルをリセットすることを意味します。

これを達成する方法はありますか?

4

2 に答える 2

0

内部で処理できます。テーブルを更新する必要性、アプリの初期設定、または処理の後半が必要になる原因がわかりません。このプロセスは一種の初歩的なものです。

テーブル A にデータがあり、それに「col_new」を追加するとします。

DROP TABLE 温度

ALTER TABLE A RENAME TO Temp

テーブル A をドロップ

テーブル A にあるすべての列と「col_new」を含むテーブル A を作成します。

テーブルTempをクエリし、次のようにAテーブルに挿入します

insert into A (name, phonenumber) select name, address from Temp

両方のテーブルのカウントが一致していることを確認してください。必要に応じて col_new を設定してください。

聞きたいことではないかもしれませんが、参考になれば幸いです。

于 2013-07-30T19:35:38.653 に答える
0

CommonsWareが推奨すること、つまりデータベースを分離することを最終的に実行しました。設計を変更したため、現在、2 つの異なるデータベース (1 つはアプリケーション情報を含み、もう 1 つはユーザー情報を含む) を持っています。これで、ユーザー情報を削除せずに申請DBを更新することができました。

于 2013-08-06T10:42:42.593 に答える