2014-04-28 3 views
0

내가 한 시간이 파악하지만 오류가 무엇인지되지 않은 :SQL 라이트 구문 오류

CREATE TABLE contacts (
_id INTEGER PRIMARY KEY AUTOINCREMENT 
,phone TEXT 
,NAME TEXT 
,contact_id TEXT 
,photo_url TEXT 
,sts INTEGER CHECK (
    sts IN (
     '0' 
     ,'1' 
     ) 
    ) NOT NULL DEFAULT '1' 
) 
,spam INTEGER CHECK (
spam IN (
    '0' 
    ,'1' 
    ) 
) NOT NULL DEFAULT '0') 

나는 syntax error near near ","을 얻고있다.

누구나 내가 누락 된 부분을 지적 할 수 있습니까? 감사합니다

+0

아마 관련이없는,하지만 숫자는 따옴표없이 지정해야합니다. '1'은 문자열이고, '1'은 숫자입니다. –

+0

','근처에? –

답변

3
) NOT NULL DEFAULT '1' 
) <-- remove this 
,spam INTEGER CHECK (
spam IN (
1

개인적으로, 나는 이것을 읽기가 매우 어렵다고 생각합니다. 이 방법으로 시도해보십시오 - 괄호와 쉼표 사이의 불일치를 쉽게 감지 할 수 있다고 생각합니다.

CREATE TABLE contact (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    phone TEXT, 
    NAME TEXT, 
    contact_id TEXT, 
    photo_url TEXT, 
    sts INTEGER CHECK (sts IN ('0', '1') NOT NULL DEFAULT '1'), 
    spam INTEGER CHECK (spam IN ('0', '1') NOT NULL DEFAULT '0') 
) 
+0

아마도 작동하는 코드를 붙여 넣는 동안 원래 코드가 작동하지 않는 이유는 밝히지 않았습니다. 차이점을 설명하십시오. –

+0

나는 읽기가 어렵다고 생각한다; 여분의 쉼표 또는 팸 같은 오류를 쉽게 만들 수 있습니다. – duffymo