回答:
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()
が、彼らは私に尋ねませんでした... :-)