Установить значение по умолчанию целочисленный столбец данных SQLite


Я создаю базу данных SQLite в android.

db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" 
    + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
    + KEY_NAME + " TEXT NOT NULL, " 
    + KEY_WORKED + " INTEGER, "
    + KEY_NOTE + " INTEGER);");

можно ли установить значение по умолчанию KEY_NOTE (который является целым числом) для каждой строки созданы, чтобы быть 0 (ноль)? Если да, то какой должен быть правильный код.

3 98

3 ответа:

используйте ключевое слово SQLite default

db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" 
    + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
    + KEY_NAME + " TEXT NOT NULL, "
    + KEY_WORKED + " INTEGER, "
    + KEY_NOTE + " INTEGER DEFAULT 0);");

эта ссылка полезна:http://www.sqlite.org/lang_createtable.html

столбец со значением по умолчанию:

CREATE TABLE <TableName>(
...
<ColumnName> <Type> DEFAULT <DefaultValue>
...
)

<DefaultValue> - это:

  • значение литерала
  • ( выражение )

примеры:

Count INTEGER DEFAULT 0,
LastSeen TEXT DEFAULT (datetime('now'))

бывает, что я только начинаю изучать кодирование, и мне нужно было похожее, как вы только что спросили в SQLite (Я использую [SQLiteStudio] (3.1.1)).

бывает, что вы должны определить столбец'ограничения 'as'Not Null 'затем введите нужное определение с помощью'по умолчанию' 'ограничения ' или это не сработает (Я не знаю, если это SQLite или программа requirment).

вот код, который я использую:

CREATE TABLE <MY_TABLE> (
<MY_TABLE_KEY>       INTEGER    UNIQUE
                                PRIMARY KEY,
<MY_TABLE_SERIAL>    TEXT       DEFAULT (<MY_VALUE>) 
                                NOT NULL
<THE_REST_COLUMNS>
);