Search code examples
androiddatabasesql-insertcorresponding-recordsdelete-record

Deleting in database?


I have a question about the databases in Android. I had created in my app a database. If I delete a record from database, for example the last one, and after that I insert a new record in database, the new record is not saved in database in the row where I deleted the other record. That row is empty. It is saved in the next row. Why? Should I do something?


Solution

  • I'm assuming you are talking about an sqlite DB?

    If your rowid is a field declared using AUTOINCREMENT, then (from the docs) the "ROWID chosen for the new row is at least one larger than the largest ROWID that has ever before existed in that same table".

    You can read about the autoincrement algorithm here: http://www.sqlite.org/autoinc.html

    Note that you do NOT have to use AUTOINCREMENT to have your primary key auto select a rowid.