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 許容列名の名前を提供します。