Я создаю базу данных 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
(ноль)? Если да, то какой должен быть правильный код.
Используйте ключевое слово 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
Случается, что я только начинаю изучать кодирование, и мне нужно было подобное, как вы только что спросили в SQLite (Я использую [SQLiteStudio] ( 3.1.1)).
Бывает, что вы должны определить столбец Constraint 'как' Not Null ", затем введите нужное определение, используя По умолчанию '' Constraint strong > 'или это не сработает (я не знаю, является ли это SQLite или программным требованием).
Вот код, который я использовал:
CREATE TABLE <MY_TABLE> (
<MY_TABLE_KEY> INTEGER UNIQUE
PRIMARY KEY,
<MY_TABLE_SERIAL> TEXT DEFAULT (<MY_VALUE>)
NOT NULL
<THE_REST_COLUMNS>
);
Столбец со значением по умолчанию:
CREATE TABLE <TableName>(
...
<ColumnName> <Type> DEFAULT <DefaultValue>
...
)
<DefaultValue>
является заполнителем для:
(
выражение )
Примеры:
Count INTEGER DEFAULT 0,
LastSeen TEXT DEFAULT (datetime('now'))
default
.