插入SQLiteDatabase的方法

sre*_*dev 3 sqlite android

SQLiteDatabase的insert方法的第二个参数是"nullColumnHack".这是什么意思.应该将什么值传递给此参数.

谢谢

N-J*_*JOY 5

假设您有一个名为foo的表,其中所有列都允许NULL值或具有默认值.

在某些SQL实现中,这将是有效的SQL:

`INSERT INTO `foo;
Run Code Online (Sandbox Code Playgroud)

那是无效的SQLite.您必须至少指定一个列:

INSERT INTO foo (somecol) VALUES (NULL);
Run Code Online (Sandbox Code Playgroud)

因此,在您将空传递ContentValuesinsert()Android 的情况下,SQLite需要一些可以安全分配的列NULL.如果您有多个此类列可供选择,请通过您选择的选择机制选择一个:掷骰子,Magic 8-Ball(TM),硬币翻转,小隔间配合翻转等.

就个人而言,I'd've只是做是非法的传递一个空ContentValuesinsert(),但他们没有问我... :-)

礼貌的commonsware.