Bor*_*ain 109 database sqlite android 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);");
Run Code Online (Sandbox Code Playgroud)
是否可以为KEY_NOTE创建的每一行0(零)设置默认值(这是一个整数)?如果是这样,那么正确的代码应该是什么.
Kar*_*uri 216
使用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);");
Run Code Online (Sandbox Code Playgroud)
此链接很有用:http://www.sqlite.org/lang_createtable.html
具有默认值的列:
CREATE TABLE <TableName>(
...
<ColumnName> <Type> DEFAULT <DefaultValue>
...
)
Run Code Online (Sandbox Code Playgroud)
<DefaultValue> 是以下内容的占位符:
( 表达 )例子:
Count INTEGER DEFAULT 0,
LastSeen TEXT DEFAULT (datetime('now'))
Run Code Online (Sandbox Code Playgroud)
碰巧我刚刚开始学习编码,我需要一些与您刚刚在 SQLite 中询问的类似的东西(I\xc2\xb4m using [SQLiteStudio] (3.1.1))。
\n\n碰巧您必须将列的“约束”定义为“非空”,然后使用“默认”“约束”输入所需的定义,否则它将不起作用(我不知道这是 SQLite 还是程序要求)。
\n\n这是我使用的代码:
\n\nCREATE TABLE <MY_TABLE> (\n<MY_TABLE_KEY> INTEGER UNIQUE\n PRIMARY KEY,\n<MY_TABLE_SERIAL> TEXT DEFAULT (<MY_VALUE>) \n NOT NULL\n<THE_REST_COLUMNS>\n);\nRun Code Online (Sandbox Code Playgroud)\n