[英]Set default value of an integer column SQLite
我正在android中創建一個SQLite數據庫。
db.execSQL("CREATE TABLE " + DATABASE_TABLE + " ("
+ KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ KEY_NAME + " TEXT NOT NULL, "
+ KEY_WORKED + " INTEGER, "
+ KEY_NOTE + " INTEGER);");
是否可以為創建為0
(零)的每一行設置KEY_NOTE
(這是一個整數)的默認值? 如果是這樣,那么正確的代碼應該是什么。
使用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) )。
它發生,你必須定義列的“ 約束 ”為“ 非空 ”,然后使用“ 默認 ”“輸入您想要的定義約束 ”,否則將無法正常工作( 我不知道這是一個SQLite或程序需求量的 )。
這是我使用的代碼:
CREATE TABLE <MY_TABLE> (
<MY_TABLE_KEY> INTEGER UNIQUE
PRIMARY KEY,
<MY_TABLE_SERIAL> TEXT DEFAULT (<MY_VALUE>)
NOT NULL
<THE_REST_COLUMNS>
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.