2

レコードを sqlite データベースに挿入または更新しようとしていますが、新しい値が古い値よりも大きい場合にのみ値を更新します。

スキーマは次のとおりです。

 CREATE table IF NOT EXISTS SearchTable
   (Owner INTEGER PRIMARY KEY, Generations INTEGER DEFAULT 0)

次のようなコマンドを試しました:

INSERT OR REPLACE INTO SearchTable(Owner, Generations)
 VALUES (?, MAX((SELECT Generations FROM SearchTable WHERE Owner = ?), ?))

しかし、ジェネレーションには null 値が返されます。

私はいくつかの助けを使うことができます。

4

1 に答える 1

7

試す

INSERT OR REPLACE INTO SearchTable(Owner, Generations)
SELECT ?, MAX(Generations) FROM SearchTable WHERE Owner = ?
于 2013-03-21T05:21:21.357 に答える