SQLite データベースを使用する iOS アプリケーションに取り組んでいます。
TEXT
製品の次のリリースで、テーブルの列を からに移行したいと考えていますBLOB
。DROP TABLE
a に続いて aを実行する予定ですCREATE TABLE
(データを失う余裕はありますが、ここでは問題ではありません)
TEXT
私の問題は次のとおりです。テーブルの列の型がorの場合、Objective-C から簡単に確認するにはどうすればよいBLOB
ですか?
SQLite データベースを使用する iOS アプリケーションに取り組んでいます。
TEXT
製品の次のリリースで、テーブルの列を からに移行したいと考えていますBLOB
。DROP TABLE
a に続いて aを実行する予定ですCREATE TABLE
(データを失う余裕はありますが、ここでは問題ではありません)
TEXT
私の問題は次のとおりです。テーブルの列の型がorの場合、Objective-C から簡単に確認するにはどうすればよいBLOB
ですか?
SQLite は「型なし」です。これは、その列の宣言されたデータ型に関係なく、任意のテーブルの任意の列に任意の種類のデータを格納できることを意味します。詳細については、こちらをご覧ください。
ただし、列の宣言されたデータ型に関する情報を取得したい場合は、プラグマ table_info(table_name) を使用してそれを行うことができます。
例えば。
pragma table_info(Setting);
次に、返された結果セットを反復処理して、確認するデータ型を確認できます。
なぜこのチェックが必要なのですか?リリース後の最初の開始をキャッチし(これには設定を使用)、テーブルを更新できます。簡単になります
リリース後の最初の起動の確認:
NSUserDefaults *prefs=[NSUserDefaults standardUserDefaults];
BOOL flag=[prefs boolForKey:SETTINGS_ALREDY_RAN];//will be NO if settings hasn't those parameters, you can change it to version number