2013-12-13 42 views
0

你好我很新的android开发。 我目前有两张桌子,需要加入这些桌子才能进行PK/FK比赛吗?你需要连接表在android sqlite中有一个forign键/主键匹配吗?

我试图按照这样的设计:绿色= PK,橙= FK enter image description here

目前,我有这个代码,但我不认为它的权利。

public void onCreate(SQLiteDatabase db) { 
    // SQL statement to create book table 
    String CREATE_PLAYER_TABLE = "CREATE TABLE " + TABLE_PLAYER_INFO + "(" 
      + KEY_PLAYER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
      + KEY_FNAME + " TEXT," 
      + KEY_LNAME + " TEXT," 
      + KEY_POSITION + " TEXT," 
      + KEY_HEIGHT + " TEXT," 
      + KEY_AGE + " TEXT," 
      + KEY_WEIGHT + " TEXT," 
      + KEY_TEAM + " TEXT," 
      + FORIGN_KEY + " TEXT," 
      + " FOREIGN KEY ("+FORIGN_KEY+") REFERENCES " + TABLE_TEAM_INFO + " ("+KEY_TEAM_ID+"))"; 

    String CREATE_TEAM_TABLE = "CREATE TABLE " + TABLE_TEAM_INFO + "(" 
      + KEY_TEAM_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
      + KEY_TEAMNAME + " TEXT" + ")"; 

    // create books table 
    db.execSQL(CREATE_PLAYER_TABLE); 
    db.execSQL(CREATE_TEAM_TABLE); 
} 

任何帮助将是巨大的 感谢

回答

0

为了创建你不需要加入数据库。这没有意义,因为你不能加入一个尚不存在的表。 JOIN仅用于数据读取。

This将帮助您建立关系。

+0

我知道,但我想有一个与这些表fk/pk匹配,所以我可以查询他们 –

+0

谢谢!但我有没有这样做过? –

+0

我认为你需要首先创建TEAM_TABLE,因为你正在引用它的主键。 –