2011-12-07 3 views
9

저는 SQLITE를 처음 접했을뿐입니다. 데이터 유형이 4 개 뿐이지 만 사람들이 자신의 데이터 유형을 사용하는 온라인 예제를 보았습니다. 나는 이것을 정말로 이해하지 못하고 누군가가 나에게 설명 할 수 있는지 궁금해하고 있었다. 예를 들어 날짜를 보유 할 열을보고 주어진 데이터 형식이 존재하지 않는 타임 스탬프였습니다. 기본적으로 무엇입니까? 자신 만의 텍스트를 만들 때 텍스트가 기본값입니까?SQLite 사용자 지정 데이터 형식?

답변

14

sqlite3은 동적 유형 시스템을 사용합니다. 단지 5 개의 스토리지 클래스가 있습니다 : NULL, 정수, 실수, 텍스트 및 얼룩. (출처 :. Datatypes In SQLite Version 3)

그리고, 해당 페이지를 인용합니다 :

INTEGER PRIMARY 키 열을 제외한 SQLite는 버전 3 데이터베이스에있는 모든 열, 스토리지 클래스의 값을 저장하기 위해 사용될 수있다 .

integer primary key 예외를 제외하고 SQLite는 전혀 유형을 적용하지 않습니다. 즉, create table에 입력 한 유형 이름은 순전히 유익한 정보입니다.

create table mytab (a apples, b bananas); 

은 유효한 create table 문입니다. 타임 스탬프, 텍스트, BLOB를 두 열에 모두 삽입 할 수 있습니다 (이어야 함).

자세한 내용은 시스템 유형에 대한 링크 된 참조 문서를 참조하십시오.

sqlite> create table mytab (a apples, b bananas); 
sqlite> insert into mytab values (CURRENT_TIME, NULL); 
sqlite> insert into mytab values ('hello', 3.14159); 
sqlite> select * from mytab; 
14:59:18| 
hello|3.14159 

직접 질문에 답변하려면 : 기본값이 없습니다. 저장소 유형은 데이터베이스에 저장된 각 값과 연관되며 테이블의 열과 연관되지 않습니다.

+0

감사합니다 매트, 그게 내가 찾고 있던 바로 그거야. – Pittfall

관련 문제