SQLiteDatabase の insert メソッドの第二引数は です"nullColumnHack"
。これは何を指しますか。このパラメーターに渡す値。
ありがとう
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()
が、彼らは私に尋ねませんでした... :-)
礼儀のコモンズウェア。
nullColumnHack は既知であり、空の行を挿入することはできません。null に設定されていない場合、nullColumnHack パラメーターは、値が空の場合に明示的に NULL を挿入するための null 許容列名の名前を提供します。
簡単な説明..
nullColumnHack
オプション; null の場合があります。SQL では、少なくとも 1 つの列名を指定せずに完全に空の行を挿入することはできません。指定した値が空の場合、列名は不明であり、空の行は挿入できません。null に設定されていない場合、nullColumnHack パラメーターは、値が空の場合に明示的に NULL を挿入するための null 許容列名の名前を提供します。