Imposta il valore predefinito di una colonna intera SQLite

Sto creando un database SQLite in Android.

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

È ansible impostare il valore predefinito di KEY_NOTE (che è un numero intero) per ogni riga creata da 0 (zero)? In tal caso, quale dovrebbe essere il codice corretto.

Utilizza la parola chiave 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);"); 

Questo collegamento è utile: http://www.sqlite.org/lang_createtable.html

Succede che sto appena iniziando ad imparare il codice e ho avuto bisogno di qualcosa di simile come hai appena chiesto in SQLite ( sto usando [SQLiteStudio] (3.1.1) ).

Succede che devi definire ” Vincolo ” della colonna come ” Non Null “, quindi inserire la definizione desiderata usando ” Predefinito ” ” Vincolo ” o non funzionerà ( non so se si tratta di un SQLite o del programma richiesto ).

Ecco il codice che ho usato:

 CREATE TABLE  (  INTEGER UNIQUE PRIMARY KEY,  TEXT DEFAULT () NOT NULL  ); 

Una colonna con valore predefinito:

 CREATE TABLE ( ...   DEFAULT  ... ) 

è un segnaposto per:

  • valore letterale
  • ( espressione )

Esempi:

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