Answers:
假设您有一个名为的表foo
,其中所有列都允许NULL
值或具有默认值。
在某些SQL实现中,这将是有效的SQL:
INSERT INTO foo;
在SQLite中无效。您必须至少指定一列:
INSERT INTO foo (somecol) VALUES (NULL);
因此,在你传递一个空的情况下ContentValues
,以insert()
,Android和SQLite的需要一些列安全地分配NULL
给。如果您有多种此类列可供选择,请通过您选择的选择机制选择其中一种:骰子卷,Magic 8-Ball(TM),掷硬币,隔间伴侣翻转等。
就个人而言,I'd've只是做是非法的传递一个空ContentValues
来insert()
,但他们没有问我... :-)