2010-12-15 7 views
42
  1. sqlite3에서 INTEGER 데이터 형식의 최대 값은 얼마입니까?
  2. 어떻게 IP 주소를 데이터베이스에 저장합니까?
  3. 무엇이 첨부되어 있습니까?
  4. sql ddl을 사용하여 특정 데이터베이스에 속한 테이블을 만드는 방법은 무엇입니까?
  5. 이 오류는 무엇인가요?

오류 동안 시스템 카탈로그 목록 : 그런 테이블 : 문을SQLite3 정수 최대 값

  1. 합니까 sqlite3를 텍스트 데이터 형식 supoports 유니 코드를 실행할 수 없습니다 temp.sqlite_master ? 감사합니다. .
+9

관련없는 추가 질문으로 질문을 확장하지 마십시오. 특정 문제를 다루는 특정 질문을하고 새로운 질문을하십시오. 이 스레드를 sqlite에 대한 자습서로 만들지 않겠습니다. –

답변

6

정수. 값은 크기에 따라 1, 2, 3, 4, 6 또는 8 바이트로 저장된 부호가있는 정수입니다.

예를 들어 의 INTEGER 저장소 클래스에는 길이가 다른 6 개의 다른 정수 데이터 유형이 포함됩니다. 이 은 디스크를 변경합니다. 그러나 으로 곧 INTEGER 값이 디스크 에서 디스크로 읽어지고 처리를 위해 메모리에 저장되므로 데이터 유형 (8 바이트 부호있는 정수)이 가장 일반적인 으로 변환됩니다.

당신이, 당신이 텍스트를 사용하여 IP 주소를 저장할 수 있습니다하지 않는 다른 이유가 있지 않는 한 http://www.sqlite.org/datatype3.html에서

.

2
  • 어떻게 데이터베이스에 IP 주소를 저장 하시겠습니까?

가장 쉬운 방법은 (예를 들어, "127.0.0.1"또는 "::1") 그 이후로 당신이 수동으로 (당신이있는 경우) 주소 구조에 파싱을 읽을 수있는 문자열 형식을 저장하는 것입니다 쉽다. SQLite는 TEXT 타입을 사용하는 문자열을 좋아하며 효율적으로 처리합니다. 두 번째 질문에 대해서는

+1

ISP를 위해 일하지 않는 한 IP 주소를 구성 요소로 분해하려고하는 것은 실수 일 수 있습니다. –

3

:

당신은 2 가지 방법으로 DB에서 IP 주소를 저장할 수 있습니다 : 문자열로

  1. . 이는 IPv4와 IPv6을 모두 지원할 것이므로 으로 권장되며 IP 주소가 인 추가 번거 로움이 필요하지 않습니다.
  2. 정수로. IP는 기본적으로 하나의 정수 값으로 병합 할 수있는 4 바이트입니다. 그러나, 당신은 정말로 그것을 원합니 까? 그것은 필요할 때마다 문자열로 /에서 문자열로 변환하는 많은 고통을 줄 것입니다.http://www.sqlite.org/datatype3.html 최대의
1

sqlite3 텍스트 데이터 형식이 유니 코드를 지원합니까?

예 아니오.

예 SQLite에서는 TEXT 데이터를 UTF-8 또는 UTF-16으로 저장할 수 있습니다. 내부 형식을 선택하려면 PRAGMA ENCODING을 사용하십시오.

내장형 LOWERUPPER 기능은 ASCII 문자에만 영향을줍니다. 그러나이 지원을 추가하려면 redefine functionscollations을 사용할 수 있습니다. 이 작업을 수행하는 SQLite에 ICU extension이 있습니다.