2012-03-31 4 views
0

안녕하세요 저는 sqldatabase를 만들려고하는데 oncreate 메서드에서 외래 키를 정의하려고합니다.외래 키 정의

경로 테이블 : ID, 이름

정지 테이블 : 난 그냥이 이런 식으로 뭔가에 대한 올바른 정의 할 것인지 알고 싶어 ID, 이름

시간 테이블 : 버스 ID, 외래 키 , 외래 키 중지

public void onCreate(SQLiteDatabase db) { 
     // TODO Auto-generated method stub 
     db.execSQL("CREATE TABLE " + DATABASE_STOPTABLE + " (" + 
     KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
     KEY_STOPS + " TEXT NOT NULL);" + 
     "CREATE TABLE " + DATABASE_BUSTABLE + " (" + 
     KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
     KEY_BUSES + " TEXT NOT NULL);" + 
     "CREATE TABLE " + DATABASE_TIMETABLE + " (" + 
     KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + 
     KEY_BUSES + " TEXT NOT NULL, " + 
        + KEY_TIME + " integer," 
        + " FOREIGN KEY ("+KEY_TIME+") REFERENCES "+DATABASE_STOPTABLE+"   ("+KEY_STOPS+"), " + 
         + " FOREIGN KEY ("+KEY_TIME+") REFERENCES "+DATABASE_BUSTABLE+"   ("+KEY_BUSES+"));" 
       ); 
    } 

답변

2

괜찮습니다.

@Override 
public void onOpen(SQLiteDatabase db) { 
    super.onOpen(db); 
    if (!db.isReadOnly()) { 
     db.execSQL("PRAGMA foreign_keys=ON;"); 
    } 
} 

'+'문자는 추측에서 onCreate 메신저에서 KEY_TIME + " integer,"

+0

전에 두 배 : 활성화해야한다는 것을 기억 하는가? – BoneStarr

+0

답변을 수정했습니다. –

+0

감사합니다. 많이 감사합니다! – BoneStarr