2016-05-09 6 views
1

私はAndroid/JavaとSQLite3/SQLiteOpenHelperをCursorsとContentValuesとともに使用しています。タイムスタンプが使用されていない場合にのみ挿入

私は自分のテーブルにタイムスタンプフィールドを持っています。私は誰かが新しい行を追加している場合、タイムスタンプが既に占有されている場合は行が追加されないようにしたい(タイムスタンプにつき1つの値以上を必要としない)。

これは効率的に実施できますか?あるいは、最初にチェックするために挿入を実行するたびにselect文を実行する必要がありますか?

答えて

1

UNIQUE修飾子をタイムスタンプフィールドに追加します。 inserWithOnConflict()を呼び出して、競合アルゴリズムの引数としてCONFLICT_FAILを渡して、必要な動作を選択できます。

+0

これは、同じタイムスタンプを持つすべての挿入が単に無視されるか、エラーなどがスローされることを意味しますか? –

+0

私がリンクしているjavadocsを見てください。あなたはあなたが望む行動を選択することができます。 'CONFLICT_FAIL'を実行すると、例外がスローされます。 –

+0

ああ、投稿は編集されました。私は今それを見る。ありがとう! 5で受け入れることができます。 –

関連する問題