Я пытаюсь вставить расходы, которые относятся ко многим друзьям. Но используя внешний ключ, он может ссылаться только на friendId, но я хочу хранить 2 friendId вместо одного для costFriend в таблице расходов. Потому что у каждого друга может быть много расходов, а расходы могут разделяться многими друзьями. Как я могу реализовать эти отношения? Может быть, не используя внешний ключ? Может ли кто-нибудь дать мне представление об этом? Большое спасибо.Android - (SQLite) Внешний ключ относится к нескольким идентификаторам сразу
Это мой создать код базы данных:
public void onCreate(SQLiteDatabase database) {
String query, query1, query2, query3;
query = "CREATE TABLE events (eventId INTEGER PRIMARY KEY, eventName TEXT, eventDate TEXT, eventLocation TEXT, eventDescription TEXT);";
query1 = "CREATE TABLE friends (friendId INTEGER PRIMARY KEY, friendName TEXT, friendNumber TEXT, friendEmail TEXT, friendSpending DOUBLE, friendEvent INTEGER, FOREIGN KEY(friendEvent) REFERENCES events(eventId) ON DELETE CASCADE);";
query2 = "CREATE TABLE expenses (expenseId INTEGER PRIMARY KEY, expenseName TEXT, expenseType TEXT, expensePrice REAL, expenseQuantity INTEGER, expenseEvent INTEGER REFERENCES events(eventId) ON DELETE CASCADE, expenseFriend INTEGER REFERENCES friends(friendId) ON DELETE CASCADE);";
query3 = "CREATE TABLE temporary (_id INTEGER PRIMARY KEY, spendingId INTEGER)";
database.execSQL(query);
database.execSQL(query1);
database.execSQL(query2);
database.execSQL(query3);
Log.d(LOGCAT, "events Created");
Log.d(LOGCAT, "friends Created");
Log.d(LOGCAT, "expenses Created");
Итак, когда я хочу получить доступ к данным, что мне делать? выберите friendId или costsId? – AndroidWorld12
Это зависит от 'данных', которые вы хотите выбрать :) Я бы порекомендовал вам Google о заявлениях о соединении SQL –