Java 黑客是什么意思?

Java 黑客是什么意思?,java,android,sqlite,Java,Android,Sqlite,根据SQLiteDatabase API文档: 插入(字符串表、字符串nullColumnHack、ContentValues) 将行插入数据库的方便方法 黑客是什么意思 你能给我举个例子吗?有时候你想插入一个空行,在这种情况下,ContentValues没有内容值,你应该使用nullColumnHack 例如,您想在表student(id,name)中插入一个空行,该表id自动生成,而name为空。您可以这样调用: ContentValues cv = new ContentValues(

根据SQLiteDatabase API文档:

  • 插入(字符串表、字符串nullColumnHack、ContentValues)

    将行插入数据库的方便方法

黑客是什么意思


你能给我举个例子吗?

有时候你想插入一个空行,在这种情况下,
ContentValues
没有内容值,你应该使用nullColumnHack

例如,您想在表
student(id,name)
中插入一个空行,该表
id
自动生成,而
name
为空。您可以这样调用:

ContentValues cv = new ContentValues();
db.insert("student", "name", cv);
你试过了吗

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


谷歌?这可能会有所帮助。API说明在我投票结束这个问题时非常清楚,因为它是许多问题的重复,因此显示出缺乏研究。具有讽刺意味的是,这是谷歌上的第一个结果。当我指定nullColumnHack时会发生什么,如果我不指定会发生什么?@Eylcasin我猜,如果你指定nullColumnHack,最后一条SQL语句将为该列提供一个空值。这意味着什么?@EthylCasin在上面的示例中,android framework生成这样一条SQL语句:“insert into student(name)values(null)”,如果您不这样做,android framework不知道该在该语句中填充什么。