3

SQLiteDatabase の insert メソッドの第二引数は です"nullColumnHack"。これは何を指しますか。このパラメーターに渡す値。

ありがとう

4

3 に答える 3

5

foo という名前のテーブルがあり、すべての列がNULL値を許可するか、デフォルトを持つとします。

一部のSQL実装では、これは有効ですSQL

`INSERT INTO `foo;

では無効ですSQLite。少なくとも 1 つの列を指定する必要があります。

INSERT INTO foo (somecol) VALUES (NULL);

ContentValuesしたがって、空をinsert()Androidに渡す場合、SQLite安全に割り当てNULLられる列が必要です。選択できる列が複数ある場合は、選択した選択メカニズム (サイコロのロール、Magic 8-Ball(TM)、コイン投げ、キュービクル メイト フリップなど) で 1 つを選択します。

ContentValues個人的には、空をに渡すことを違法にしたかったのですinsert()が、彼らは私に尋ねませんでした... :-)

礼儀のコモンズウェア。

于 2012-05-17T10:01:41.583 に答える
0

nullColumnHack は既知であり、空の行を挿入することはできません。null に設定されていない場合、nullColumnHack パラメーターは、値が空の場合に明示的に NULL を挿入するための null 許容列名の名前を提供します。

于 2012-05-17T10:12:14.983 に答える
-1

簡単な説明..

nullColumnHack

オプション; null の場合があります。SQL では、少なくとも 1 つの列名を指定せずに完全に空の行を挿入することはできません。指定した値が空の場合、列名は不明であり、空の行は挿入できません。null に設定されていない場合、nullColumnHack パラメーターは、値が空の場合に明示的に NULL を挿入するための null 許容列名の名前を提供します。

于 2012-05-17T09:56:15.813 に答える