2016-01-21 6 views
2

У меня есть простой стол. Я пытаюсь поместить значение по умолчанию в столбец TEXT. Ниже приведен табличный запрос:Как установить значение по умолчанию для столбца TEXT в Sqlite?

"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT '0', book_name TEXT NOT NULL);" 

Он создает таблицу, но проблема возникает, когда я пытаюсь вставить данные. Я только пытался дать имя книги book_name, так как я ожидал, что book_id будет иметь значение по умолчанию 0 в столбец. Но это не так, и оно добавляет нулевое значение, поэтому строка не вставлена. Я также пробовал с этим запросом:

"CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT, book_id TEXT NOT NULL DEFAULT \'0\', book_name TEXT NOT NULL);"  

Но проблема остается такой же. Я искал переполнение стека и получил ответы, но они старые и не работают для меня прямо сейчас. Итак, что-то изменилось, как установить значение по умолчанию в столбец TEXT в sqlite. Заранее спасибо :)

EDIT
Вот вставка заявление:

database.insert("book", null, cv);  

Здесь резюме является объектом ContentValues ​​, который содержит только значение для столбца book_name.

+0

В чем заключалась ваша инструкция INSERT? – mmuzahid

+0

Вы создаете таблицу в методе oncreate для SQLiteOpenHelper? –

+0

И, пожалуйста, предоставьте код того, как вы вставили данные в таблицу –

ответ

10

Вы можете указать значение по умолчанию для столбца при создании таблицы. (Это не так, будто вы можете добавить по умолчанию с помощью о ALTER, так что вам придется заново создать таблицу.)

CREATE TABLE your_table_name 
(MainContactName TEXT NOT NULL DEFAULT '') 

Для Пример,

CREATE TABLE book(_id INTEGER PRIMARY KEY AUTOINCREMENT,book TEXT DEFAULT "abc"); 

теперь видит, что значения по умолчанию установлено значению "а"

Check s qllite documentation.

+0

Если я создаю столбец без 'NOT NULL', то он не принимает пустую строку по умолчанию или 'abc', как вы указали. он принимает значение null. Я видел большинство предыдущих ответов, но ни один из них не работает. –

+0

вы хотите установить значение столбца «что-то» по умолчанию? правильно? Тогда это работает @AbirHasan –

+0

вы попробовали?потому что он не работает. @Amit –

Смежные вопросы