为什么我们在sqlite方法中使用null?

时间:2017-11-17 07:19:05

标签: java android sqlite

为什么我们在sqlite数据库方法中使用null,如:

db.insert("table1", null, cv);

是否有必要在方法中使用它? 没有null我们有错误。

2 个答案:

答案 0 :(得分:3)

阅读insert

long insert (String table, 
                String nullColumnHack, 
                ContentValues values)
  

String nullColumnHack :可选;可能是null。 SQL不允许插入   完全空行而不命名至少一个列名。如果你的   提供的值为空,没有列名称和空行   无法插入。如果未设置为null,则为nullColumnHack参数   提供可为空的列名称,以显式插入NULL   在您的值为空的情况下进入。

答案 1 :(得分:0)

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

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

INSERT INTO员工;

这在SQLite中无效。您必须至少指定一列:

INSERT INTO employee(somecol)VALUES(NULL);

Android和SQLite需要一些可以安全地分配NULL的列。如果您有多个这样的列可供选择,请通过您选择的选择机制选择一个:掷骰子,Magic 8-Ball(TM),硬币翻转,小隔间配合翻转等。