Установить значение по умолчанию целочисленный столбец данных 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 ответа:
используйте ключевое слово 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> );