Je veux créer une table avec le type de colonne Long
au lieu de Integer
. C'est possible?
Réponses
Trop de publicités?A partir de la doc SQLite
ENTIER . La valeur est un entier signé, stocké dans 1, 2, 3, 4, 6 ou 8 octets selon l'amplitude de la valeur.
Étant donné que long
est de 8 octets et que INTEGER
peut également enregistrer des valeurs de 8 octets, vous pouvez utiliser INTEGER
.
Créez la colonne en tant que type INTEGER
:
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
+ KEY + " INTEGER" + ")");
Mettre le long
valeur en INTEGER
colonne:
contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);
Important : récupérez la valeur du curseur sous la forme LONG
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);
Je ne pense pas qu'il y ait de type long. Soit vous pouvez utiliser INTEGER (ou) Numeric. Voici le lien avec les types de données pris en charge http://www.sqlite.org/datatype3.html
Son lien ci-dessus représente un entier 64 bits ou essentiellement un long, voir aussi Quelle est la différence entre les types de données entiers SQLite comme int, integer, bigint, etc. ?