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