在SQLite中为列设置默认值

tec*_*ner 7 sqlite android

我有一个SQLite表,并希望暂时将其设置为默认值.我怎样才能做到这一点?

下面是我的DatabaseHelper类代码:

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper {

    private static final String DATABASE_NAME="iFall.db";
    public static final String TIME="time";
    //public static final String STATUS="status";
    //public static final String MINES="loadmines";
    //public static final String OPENTILE="openTile";

    public DatabaseHelper(Context context)
    {
        super(context,DATABASE_NAME,null,1);
    }
    @Override
    public void onCreate(SQLiteDatabase arg0) {
        // TODO Auto-generated method stub
        //CREATE TABLE minesweeper(_id INTEGER PRIMARY KEY AUTOINCREMENT,userId TEXT
        arg0.execSQL("CREATE TABLE finalP(_id INTEGER PRIMARY KEY AUTOINCREMENT,time TEXT);");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TABLE IF EXISTS finalP");
        onCreate(db);
    }

}
Run Code Online (Sandbox Code Playgroud)

我想为列时间分配一个默认值50.

Max*_*mus 16

我相信你可以这样做:

arg0.execSQL("CREATE TABLE finalP(_id INTEGER PRIMARY KEY AUTOINCREMENT,time TEXT DEFAULT \'50\');");
Run Code Online (Sandbox Code Playgroud)

它应该工作正常.

有关列约束,请参阅sqlite文档.http://www.sqlite.org/syntaxdiagrams.html#column-constraint