Long
대신 열 유형을 사용하여 테이블을 만들고 싶습니다 Integer
. 가능할까요?
답변
로부터 SQLite는 워드 프로세서
INTEGER . 값은 부호있는 정수이며 값의 크기에 따라 1, 2, 3, 4, 6 또는 8 바이트로 저장됩니다.
이후로는 long
8 바이트이며, INTEGER
또한 8 바이트의 값을 저장, 당신은 사용할 수 있습니다 INTEGER
.
답변
열을 INTEGER
유형 으로 작성하십시오 .
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
+ KEY + " INTEGER" + ")");
long
값을 INTEGER
열에 넣으십시오 .
contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);
중요 : 커서에서 값을 다음과 같이 검색합니다 .LONG
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);
답변
나는 유형이 길다고 생각하지 않습니다. INTEGER (또는) 숫자를 사용할 수 있습니다. 다음은 지원되는 데이터 유형 http://www.sqlite.org/datatype3.html 링크입니다 .
답변
정수 유형으로 열을 정의하기 만하면됩니다. SQLite는 입력에 따라 열 길이를 1,2,4,8로 설정합니다.
답변
그의 위 링크는 64 비트 정수 또는 본질적으로 long을 나타냅니다. 또한 int, integer, bigint 등과 같은 SQLite 정수 데이터 유형의 차이점 은 무엇입니까? 를 참조하십시오
.
답변
SQLIte는 입력에 따라 적절한 정수 너비를 설정합니다.
답변
정수 를 저장할 수 긴 하지만에서 긴 얻기 위해 커서를 다음과 같이해야한다 :
int type = cursor.getType(j);
String value = cursor.getString(j);
try {
int intValue = Integer.parseInt(value);
field.set(object, intValue);
} catch (NumberFormatException e) {
long longValue = Long.parseLong(value);
field.set(object, longValue);
}
나는 이것을 사용 하여 sqlite에 타임 스탬프 를 저장합니다.