如何使用外键SQLite检索数据?

时间:2019-04-11 14:07:14

标签: java android sqlite

我有一个简单的应用程序,在数据库中有两个表。 登录的用户添加“玩家”,并且用户ID作为外键存储在“玩家”表中 现在,无论登录用户是谁,我的代码都会检索所有记录。 如何更改查询以仅选择登录用户输入的数据(即外键)?

“ where” sql语句如果放在下面会给我一个错误

My query code
===========


  public Cursor getAllRows(){
        SQLiteDatabase db = this.getReadableDatabase();
       Cursor cursor = db.rawQuery("select  Player_id _id, * from Player"  
, null);


      return cursor;
  }

1 个答案:

答案 0 :(得分:1)

您需要以下查询:

Cursor cursor = db.rawQuery("select * from Player where user_id = " + userid, null);

其中user_id是表Player中包含用户ID的列,而userid是存储用户ID的变量。
如果用户的id是字符串(数据类型TEXT),则必须将其用单引号引起来:

Cursor cursor = db.rawQuery("select * from Player where user_id = '" + userid + "'", null);