簡體   English   中英

設置整數列SQLite的默認值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM