我正在尝试使用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;
}
}
答案 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;
}