2014-03-27 7 views
0

에서 지원 테이블 이름에 대괄호 데 나는 그래서SQLite는

hello [world] 

있는 테이블 이름이하고자하는, 내가

을 얻을

create table [hello [world]]] (key INTEGER PRIMARY KEY); 

일을 할 다음과 같은 구문을 사용하여 생각

Error: unrecognized token: "]" 

궁금한 점은 SQLite에서 대괄호를 지원한다는 것입니다. 테이블 이름을 인용

답변

1

시도 :

$ sqlite3 :memory: 
sqlite> create table "Foo [bar]" (a int); 
sqlite> .schema 
CREATE TABLE "Foo [bar]" (a int); 
sqlite> insert into "Foo [bar]" values(1); 
sqlite> select * from "Foo [bar]"; 
1 
sqlite> _ 
+0

감사합니다. 그러나 테이블 이름에 큰 따옴표가 포함되면 어떻게 될까요? –

+0

이중 따옴표는 큰 따옴표입니다 :'create table ""double ""은 따옴표 "(int);''.tables'는 표 사이에"인용 부호 "를 두 번 표시합니다. 가능한 경우, 그러한 이름이 언제 바람직한 것인지 상상하기가 힘듭니다. – 9000

+0

테이블 이름으로 "다중 포트폴리오 이름"을 사용하려고했기 때문입니다. http://stackoverflow.com/questions/22692723/database-design-in-android-sqlite-multiple-tables-or-2-tables-for-multiple-por 그러나 잘못된 디자인 인 것처럼 보일 수 있습니다. 그래서, 저는 현재 그것으로 실험하고 있습니다 ... –

2

multiple methods for quoting identifiers을있다.

대괄호를 사용하는 경우 식별자에 이러한 문자를 사용할 수 없습니다. 큰 따옴표를 사용하는 경우

, 당신이 그들을 배로 이름을 탈출 할 수

CREATE TABLE "hello ""world"""(key INTEGER PRIMARY KEY);