android data Is there type Long in SQLite?



sqlite enum (5)

His above link depicts a 64 bit Integer or Essentially a long, also see What is the difference between SQLite integer data types like int, integer, bigint, etc.?

and Version of SQLite used in Android?

I want to create a table with the column type Long instead of Integer. Is it possible?


Answer #1

You just define a column with Integer type. SQLite sets the column length to 1,2,4,8 depending on your input.


Answer #2

Create the column as an INTEGER type:

db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
                + KEY + " INTEGER" + ")");

Put the long value in INTEGER column:

contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);

Important: retrieve the value from cursor as LONG

Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);

Answer #3

From the SQLite docs

INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.

Since long is 8 byte and INTEGER can also save values of 8 bytes, you can use INTEGER.


Answer #4

SQLIte will set suitable integer width depend on your input





sqlite