The second parameter of insert method of SQLiteDatabase is "nullColumnHack"
. WHat does this refers. What value should be passed to this parameter.
Thanks
The second parameter of insert method of SQLiteDatabase is "nullColumnHack"
. WHat does this refers. What value should be passed to this parameter.
Thanks
Let's suppose you have a table named foo where all columns either allow NULL
values or have defaults.
In some SQL
implementations, this would be valid SQL
:
`INSERT INTO `foo;
That's not valid in SQLite
. You have to have at least one column specified:
INSERT INTO foo (somecol) VALUES (NULL);
Hence, in the case where you pass an empty ContentValues
to insert()
, Android and SQLite
need some column that is safe to assign NULL
to. If you have several such columns to choose from, pick one via the selection mechanism of your choice: roll of the dice, Magic 8-Ball(TM), coin flip, cubicle mate flip, etc.
Personally, I'd've just made it illegal to pass an empty ContentValues
to insert()
, but they didn't ask me... :-)
courtesy commonsware.
nullColumnHack are known and an empty row can't be inserted. If not set to null, the nullColumnHack parameter provides the name of nullable column name to explicitly insert a NULL into in the case where your values is empty.
Brief explanation..
nullColumnHack
optional; may be null. SQL doesn't allow inserting a completely empty row without naming at least one column name. If your provided values is empty, no column names are known and an empty row can't be inserted. If not set to null, the nullColumnHack parameter provides the name of nullable column name to explicitly insert a NULL into in the case where your values is empty.