Вставить ноль в таблицу Sqlite - PullRequest
35 голосов
/ 22 марта 2012

Я пытаюсь понять, как вставить нулевое значение в таблицу SQLite в Android.

Это таблица:

"create table my table (_id integer primary key autoincrement, " +
                                               "deviceAddress   text not null unique, " +
                                               "lookUpKey text , " + 
                                               "deviceName text , " +
                                               "contactName text , " +
                                               "playerName text , " +
                                               "playerPhoto blob " +
                                               ");";    

Я хотел использовать простую команду Вставить через execSQL, но, поскольку одно из значений является BLOB-объектом, я не могу этого сделать (я думаю).

Итак, я использую стандартную команду db.Insert. Как сделать одно из значений пустым?

Если я просто пропущу его в объекте ContentValues, он автоматически поместит нулевое значение в столбец?

Ответы [ 4 ]

80 голосов
/ 24 мая 2012

Вы можете использовать ContentValues.putNull (ключ строки) метод.

29 голосов
/ 23 марта 2012

Да, вы можете пропустить поле в ContentValues, и db.insert установит его в NULL.Также вы можете использовать другой способ:

ContentValues cv = new ContentValues();
cv.putNull("column1");
db.insert("table1", null, cv);

это прямо устанавливает "column1" NULL.Также вы можете использовать этот способ в заявлении об обновлении.

1 голос
/ 22 марта 2012

Я думаю, что вы можете пропустить это, но вы также можете поставить null, просто убедитесь, что при первом создании базы данных вы не объявляете столбец как "NOT NULL".

0 голосов
/ 09 декабря 2016

В вашей команде вставки строки запроса вы можете вставить null для значения, которое вы хотите иметь значение null.Это C #, так как я не знаю, как вы настраиваете соединения с базой данных для Android, но запрос был бы таким же, поэтому я дал его для наглядности, я уверен, что вы могли бы приравнять его к своему:1003 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...