IT박스

정수 열 SQLite의 기본값 설정

itboxs 2020. 8. 5. 08:03
반응형

정수 열 SQLite의 기본값 설정


안드로이드에서 SQLite 데이터베이스를 만들고 있습니다.

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

KEY_NOTE작성된 모든 행에 대해 기본값 (정수)을 00으로 설정할 수 있습니까? 그렇다면 올바른 코드는 무엇입니까?


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

이 링크는 유용합니다 : http://www.sqlite.org/lang_createtable.html


기본값을 가진 열 :

CREATE TABLE <TableName>(
...
<ColumnName> <Type> DEFAULT <DefaultValue>
...
)

<DefaultValue> 의 자리 표시 자입니다.

  • 값 리터럴
  • ( 표현 )

예 :

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

방금 코딩을 배우기 시작했고 SQLite에서 요청한 것과 비슷한 것이 필요했습니다 ( [SQLiteStudio] (3.1.1) 사용 ).

열의 ' Constraint '를 ' Null이 아님 '으로 정의한 다음 ' Default ' ' Constraint '를 사용하여 원하는 정의를 입력해야 작동하지 않거나 작동 하지 않습니다 ( SQLite인지 또는 프로그램 요구 사항인지 모르겠습니다 ).

내가 사용한 코드는 다음과 같습니다.

CREATE TABLE <MY_TABLE> (
<MY_TABLE_KEY>       INTEGER    UNIQUE
                                PRIMARY KEY,
<MY_TABLE_SERIAL>    TEXT       DEFAULT (<MY_VALUE>) 
                                NOT NULL
<THE_REST_COLUMNS>
);

참고 URL : https://stackoverflow.com/questions/17617610/set-default-value-of-an-integer-column-sqlite

반응형