Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

setting a default value to a column in SQLite

Tags:

android

sqlite

I am having an SQLite table and wish to set it with a default value for time being. how can I do that?

Below is my DatabaseHelper class code:

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);
    }

}

I want to assign a default value say 50 to the column time.

like image 605
tech_learner Avatar asked May 10 '11 19:05

tech_learner


1 Answers

I believe you can do this:

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

and it should work fine.

See the sqlite docs for column constraints. http://www.sqlite.org/syntaxdiagrams.html#column-constraint

like image 155
Maximus Avatar answered Nov 05 '22 18:11

Maximus