155 votes

Existe-t-il un type Long dans SQLite ?

Je veux créer une table avec le type de colonne Long au lieu de Integer . C'est possible?

253voto

Inder Kumar Rathore Points 13538

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 .

23voto

Vasil Valchev Points 347

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

19voto

Nambari Points 42066

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

5voto

L7ColWinters Points 768

5voto

Shnkc Points 520

Vous venez de définir une colonne de type Integer. SQLite définit la longueur de la colonne sur 1,2,4,8 en fonction de votre entrée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X