Jexcy
Jexcy

Reputation: 594

should I use "query" + "update/insert" or "insert/replace" in android sqlite?

I have a table like this

        db.execSQL("CREATE TABLE " + TABLE_NAME + " ("
                + _ID + " INTEGER PRIMARY KEY,"
                + URL + " TEXT UNIQUE,"
                + SomeInfo + " TEXT,"
                + OtherInfo + " INTEGER"
                + ");");

So there is only one record for each URL value. When the user visit a URL, I need neither insert a new row, or update an existing row if URL is presented I could think of 2 ways:

  1. SQLiteDatabase.query first and apply an update if there is one
  2. Always use SQLiteDatabase.replace, in case the UNIQUE constraint fail, sqlite will replace the record.

    Which approach is better? Are there other suggestions? Thanks

Upvotes: 1

Views: 2180

Answers (1)

Knickedi
Knickedi

Reputation: 8787

Since this seems to be a commom issue (which I faced recently too) I found this post which might be helpful.

Upvotes: 1

Related Questions