0
String CREATE_FAVOURITES_TABLE = "CREATE TABLE IF NOT EXISTS " +
TABLE_FAVOURITES + "("
+ COLUMN_ID2 + " INTEGER PRIMARY KEY,"
+ COLUMN_NAME + " TEXT,"
+ COLUMN_POSTCODE + " INTEGER,"
+ COLUMN_DEELGEMEENTE + " TEXT,"
+ COLUMN_GEMEENTE + " TEXT,"
+ COLUMN_ADRES + " TEXT,"
+ COLUMN_USERNAME + " TEXT, "
+ "FOREIGN KEY(" + COLUMN_USERNAME+ ") REFERENCES "
+ TABLE_USERS + "(username) " + ")";
db.execSQL(CREATE_FAVOURITES_TABLE);
사용자 이름별로 두 테이블을 연결할 수 있도록 변경하려고 시도했습니다. 그렇지 않으면 사용자 이름을 찾기 위해 쿼리를 실행해야하며 사용자 이름은 고유하므로 불가능합니다. 거기에 내 데이터베이스에 두 가지,이 내 애플 리케이션에서 검사에 의해 방지됩니다). 하지만 1) 더 이상 작동하지 않습니다. 내 데이터베이스 작성 문장의 마지막 세 줄이 틀릴 수도 있습니다. 누구든지 확인할 수 있습니까?외래 키를 사용하는 SQLite
그리고 2)이 이름에 의해 단일 사용자에 대한 모든 즐겨 찾기를 찾으려면, 그래서 나는이 코드 조각을 썼다 : 다시
public void findFavourites(User user,Winkel winkel){
String selectQuery = "SELECT" + COLUMN_NAME +"," + COLUMN_ADRES + "," + COLUMN_GEMEENTE + "," + COLUMN_DEELGEMEENTE + "," + COLUMN_POSTCODE;
selectQuery += "FROM" + TABLE_USERS + "," +TABLE_FAVOURITES;
selectQuery += "WHERE"+ COLUMN_ID+"=" +COLUMN_ID + "AND";
}
이, 마지막 줄은 아마 잘못 때문에 나는 알아낼 수 없습니다 어떻게 외래 키가 작동하는지 (이전에 작동 했었지만 사용자 이름이 외래 키로 사용되도록 ID를 변경하지 않으려 고 시도했다.)
오류 메시지 : 당신이 첫 번째 실행 후 열을 추가처럼
SQLiteException: table favorieten has no column named username (code 1):
그건 속임수 였어, 고마워. – user3117628
나는 고마워. :) – user3117628