设置整数列SQLite的默认值

时间:2013-07-12 14:43:29

标签: android database sqlite android-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);");

是否可以为创建的每一行KEY_NOTE(零)设置默认值0(这是一个整数)?如果是这样,那么正确的代码应该是什么。

2 个答案:

答案 0 :(得分:207)

使用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

答案 1 :(得分:2)

碰巧我刚刚开始学习编码,我需要类似于你在SQLite中提出的类似内容( I´m using [SQLiteStudio] (3.1.1) )。

您必须定义列' Constraint ' as' 不是'然后使用' 默认'输入您想要的定义'的 Constraint '或者它不起作用(我不知道这是一个SQLite还是程序要求)。

以下是我使用的代码:

CREATE TABLE <MY_TABLE> (
<MY_TABLE_KEY>       INTEGER    UNIQUE
                                PRIMARY KEY,
<MY_TABLE_SERIAL>    TEXT       DEFAULT (<MY_VALUE>) 
                                NOT NULL
<THE_REST_COLUMNS>
);