如何在SQLJet中执行upsert操作?

时间:2017-08-10 19:30:35

标签: java sqljet

给定需要更新或向数据库添加记录的项目列表,如何使用SQLJet执行/复制UPSERT操作?下面我有一个小解决方案,但问题是如果列表中的游戏顺序发生变化,那么我可能会跳过数据库中的记录,并为游戏列表中的项添加重复项。

for (Game g : games) {
    if (!updateCursor.eof() &&
         updateCursor.getString(GAME_TABLE_GID).equals(g.getGameID())) {
         updateCursor.update(
             updateCursor.getInteger(GAME_TABLE_PID),
             updateCursor.getString(GAME_TABLE_GID),
             gson.toJson(g)
         );
         updateCursor.next();
     }
     else {
         gameTable.insert(g.getGameID(), gson.toJson(g));
     }
}

我想到的其他解决方案包括迭代列表,然后每次遍历整个表格,与每行记录给定的游戏ID进行比较。我真的不愿意这样做。

我已经尝试过为此找到文档,但是在Stack Overflow上标记为SQLJet的10个(现在11个)问题以及项目的文档似乎缺乏,我还没有找到任何东西。

0 个答案:

没有答案