column android database sqlite android-sqlite

android - sqlite rename column



Establecer el valor predeterminado de una columna entera SQLite (3)

Sucede que estoy empezando a aprender a codificar y necesitaba algo similar a lo que acaba de pedir en SQLite ( estoy usando [SQLiteStudio] (3.1.1) ).

Sucede que debe definir '' Constraint '' de la columna como '' No nulo '', luego ingrese su definición deseada usando '' Constraint '' '' predeterminada '' o no funcionará ( no sé si esto es un SQLite o el requerimiento del programa ).

Aquí está el código que utilicé:

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

Estoy creando una base de datos SQLite en Android.

db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME + " TEXT NOT NULL, " + KEY_WORKED + " INTEGER, " + KEY_NOTE + " INTEGER);");

¿Es posible establecer el valor predeterminado de KEY_NOTE (que es un número entero) para cada fila creada para ser 0 (cero)? Si es así, ¿cuál debería ser el código correcto?


Una columna con valor predeterminado:

CREATE TABLE <TableName>( ... <ColumnName> <Type> DEFAULT <DefaultValue> ... )

<DefaultValue> es un marcador de posición para a:

  • valor literal
  • ( expresión )

Ejemplos:

Count INTEGER DEFAULT 0, LastSeen TEXT DEFAULT (datetime(''now''))


Utilice la palabra clave SQLite por 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);");

Este enlace es útil: http://www.sqlite.org/lang_createtable.html