1

このテーマについてはすでに多くの質問と回答がありますが、私の状況には合わないようです。

離れたsqliteデータベース(DBサーバー)とローカルデータベース(フォトアルバムエントリを含むDBローカル)があります。DBサーバーから必要なときにいつでもDBローカル更新。DBサーバーには呼び出されたがあります。これは重複を防ぐためにDBローカルに格納されますが、 DBローカルにも呼び出された独自の列があります。primary keyidentifierprimary keyid

携帯電話で新しいアルバムを作成する必要がある場合は、に設定されたエントリをDBローカルに挿入し、DBサーバー到達できるようになると適切なを要求します。identifier-1identifier

私の問題は次のとおりです。私は多くの更新を行い、毎回主キーをインクリメントしたくありません。

DBサーバーからDBローカルを更新するとき、新しいアルバムと既存のアルバムを更新したいと思います。INSERTUPDATE

INSERT OR REPLACEステートメントについて読みましたが、 DBローカルidentifierの列をとして設定する必要があります。残念ながら、複数のセットをに設定できるため、これを行うことはできません。uniqueidentifier-1

単一のリクエストでINSERTまたは条件付きで実行する方法はありますか?UPDATE

ありがとう !

編集:更新はこのように行われます:DBローカルはDBサーバーから更新されます。DBローカルデータがDBサーバーにプッシュされることはありません。新しいアイテムを追加する唯一の方法は、サーバーでAPIを呼び出すことです。これにより、 DBサーバーに空のエントリが作成され、そのエントリが取得されますidentifier。ただし、サーバーは常に到達可能であるとは限らないため(EDGE / 3G)、DBローカルの一部のエントリはにidentifier設定されてい-1ます。API呼び出しが対応するものとともに返されると、DBローカルの対応するエントリのidentifier代わりにそれを保存します-1

4

0 に答える 0