Android 在sqlite中使用null的意义

Android 在sqlite中使用null的意义,android,sqlite,null,Android,Sqlite,Null,我是android sqlite的新手,我想知道在一些sqlite代码中使用null有什么意义。例如,此处使用ContentValues: ContentValues values = new ContentValues(); values.put(KEY_VALUE1, x.getVALUE1()); values.put(KEY_VALUE2, x.getVALUE2()); db.insert(TABLE_NAM, null, values); 或选择

我是android sqlite的新手,我想知道在一些sqlite代码中使用null有什么意义。例如,此处使用ContentValues:

    ContentValues values = new ContentValues();
    values.put(KEY_VALUE1, x.getVALUE1()); 
    values.put(KEY_VALUE2, x.getVALUE2());
    db.insert(TABLE_NAM, null, values); 
或选择:

Cursor cursor = db.rawQuery("SELECT  * FROM " + TABLE_NAM , null); 

这取决于API的状态,从文档中我们可以看到这个方法

关于db.insert的第二个参数(TABLE_NAM,null,value)空值是空列hack

nullColumnHack可选;可能为空。SQL不允许插入一个完全空的行而不至少命名一个列名。如果提供的值为空,则不知道列名,并且无法插入空行。如果未设置为null,则nullColumnHack参数提供可为null的列名的名称,以便在值为空的情况下显式插入null

至于方法,它意味着:

selectionArgs您可以在查询中的where子句中包含?s,该子句将被selectionArgs中的值替换。这些值将被绑定为字符串


如果您使用eclipse,您应该能够通过在方法名称上移动鼠标来查看该方法要求参数是什么。在这之后,将很容易理解参数为null的原因

否则,您可以轻松地查看android开发者网站和