我应该在Android SQLite中使用"query" + "update/insert"还是"insert/replace"?



我有一个这样的表

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

所以每个URL值只有一条记录。当用户访问URL时,既不需要插入新行,也不需要更新现有行(如果URL出现)我能想到两种方法:

  1. SQLiteDatabase.query优先,如果有
  2. ,则应用更新
  3. 始终使用SQLiteDatabase.replace,如果UNIQUE约束失败,sqlite将替换记录

    哪种方法更好?还有其他建议吗?由于

由于这似乎是一个常见的问题(我最近也面临),我发现这篇文章可能会有所帮助。

最新更新