在android中插入SQLite数据库并返回自动增量值

时间:2017-03-01 02:31:32

标签: android sqlite

我正在尝试使用android和SQLite数据库。我不知道如何将数据添加到表的这一行,并获得自动增量返回的gameid列以相同的方法返回。 (这是我的第一篇文章,请原谅我发布的错误)

public static final String GAME_COLUMNS = " ( GAME_ID INTEGER PRIMARY KEY AUTOINCREMENT, ADMIN_ID TEXT, SCORE1 INTEGER DEFAULT 0, SCORE2 INTEGER DEFAULT 0 );";


public int createGame(String email){
    if(email!=null){
        SQLiteDatabase test = this.getWritableDatabase();
        test.execSQL("INSERT INTO "+ GAME_TABLE + " VALUES(NULL, '"+ email + "',NULL, NULL);");
        int gameID = test.executeQuery("select last_insert_id() from "+GAME_TABLE);

        return gameID;
    }

}

1 个答案:

答案 0 :(得分:2)

您无需使用select last_insert_id()

public int createGame(String email) {
    int result = -1;
    if (email!=null) {
        SQLiteDatabase test = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(EMAIL, email);                                                                                                                                
        result = database.insert(GAME_TABLE, null, values); // this will return the last id you inserted
    }
    return result;
}