Reputation: 15
I am trying to delete the last row from a SQLite Database table but I keep getting an error. Can someone find my syntax error?
Find the MAXID
private String MAXID = COLUMN_ID + "=" + "SELECT MAX("+COLUMN_ID+") FROM "+TABLE_NAME+")";
DELETE Staement
public void deleteLastRow(){
try{
ourDatabase.delete(TABLE_NAME, MAXID, null);
}
catch(Exception e){
e.printStackTrace();
Log.e("Deleteing last row", e.toString());
}
}
Error logs
09-13 12:53:14.570: E/Deleteing last row(2045): android.database.sqlite.SQLiteException: near "SELECT": syntax error (code 1): , while compiling: DELETE FROM gradest WHERE _id=SELECT MAX(_id) FROM gradest)
Upvotes: 1
Views: 313
Reputation: 180060
Subqueries must always be enclosed in parentheses:
DELETE FROM gradest WHERE _id = (SELECT MAX(_id) FROM gradest)
Upvotes: 1