2012-09-08 3 views
0

xy이라는 두 개의 테이블이 있습니다.Android - 유일하고 외래 키 제약 조건이있는 Sqlite 쿼리

x 테이블에는 _idname이라는 두 개의 열이 있습니다.

_id이 기본 키일 것이므로 name은 고유 한 제한 조건입니다.

저는 sqlite 쿼리에 익숙하지 않습니다. 쿼리를 다음과 같이 작성해야합니까?

CREATE TABLE IF NOT EXISTS x (
    _id integer primary key autoincrement, 
    name text, 
    unique(name)); 

y 표는 세 ​​개의 열 _id, xidaddress 있습니다.

_id은 외래 키일 것이고, address은 유일한 키 제약 조건이됩니다.

CREATE TABLE IF NOT EXISTS y (
    _id integer primary key autoincrement, 
    address text, 
    xid references x(_id), 
    unique(address)); 

올바르게 입력하지 않거나 잘못 정의하면 제발 수정하십시오.

미리 감사드립니다.

+0

나는 귀하의 질문에 몇 번을 읽고, 나는 당신이 무엇을 요구 작동하지 수

는 대신 테이블 제약의 그 열 제약을함으로써 좀 더 명확한 제약 조건을 만들 수 있습니다. 당신이 묻고있는 것에 대해 좀 더 구체적으로 표현할 수 있습니까? –

+0

시도해 보셨습니까? 또는 sqlite 언어 참조를 살펴 보았습니까? – Kevin

답변

2

귀하의 명령은 정확합니다.

CREATE TABLE IF NOT EXISTS x (
    _id integer primary key autoincrement, 
    name text unique); 
CREATE TABLE IF NOT EXISTS y (
    _id integer primary key autoincrement, 
    address text unique, 
    xid references x(_id));