sqliteデータベースのユーザーから情報を取得しています。 しかし、すでにデータベースに入っている同じレコードを挿入すると、再び追加されます。 どのように私はsqliteのレコードの重複を停止することができます。私はアンドロイドでこれを開発しています。 私は主キーとして携帯番号を使用しています。それでもそのレコードをデータベースに追加します。 私に適切な解決策を提案してください。 ありがとうございました。android appを使用したsqliteのデータ複製
-1
A
答えて
0
テーブルを作成した時点で電話番号をプライマリキーに設定していることを確認してください。例えば
:
String query = "CREATE TABLE IF NOT EXISTS PhoneBook ("+
"TelNum VARCHAR(100) PRIMARY KEY NOT NULL,"+
"Address TEXT);";
db.execSQL(query);
と場合に、あなたのテーブルに定義された外部キーを強制するには、その後、キーワードINTO REPLACE使用
db.execSQL("PRAGMA foreign_keys = ON;"); //enforcing FK
0
データベースに何かを行う前に、次のメソッドを呼び出します。
REPLACE INTO my_table (pk_id, col1) VALUES (5, '123');
これにより、自動的にプライマリキーが識別され、一致が検出されます。見つからない場合は新しい行を挿入して更新します。
2
アプリケーションユーザーがデータベースのこれらの行に追加したカスタムデータを上書きするため、REPLACEまたはINSERT OR REPLACEの制限に注意してください。他のSQLデータベースのUPSERTほど高度ではありません。
前の記事で説明したように、主キーの内容を特定し、この情報を使用して古いデータを更新するか、新しい行を挿入する前に古い行を削除する必要があります。
これが不可能な場合は、挿入を実行する前に必ずmy_tableまたはDROP my_tableを削除して重複がなくなるようにすることができます。これは(良いか悪いか)新しい輸入に欠けているデータがあなたのアプリの中に横たわっていないことを確認します。
関連する問題
- 1. SQliteクエリを使用したAndroid Appウィジェット
- 2. Android:サポートフラグメンテーションマネージャを使用した場合のフラグメントの複製
- 3. SQLiteデータベースのデータを使用したダイアログ
- 4. sqliteを使用したデータの復帰
- 5. SQLiteストアを複製する
- 6. Android app SQLite addButtonClicked IllegalStateException
- 7. Magentoでコードを使用した製品の複製
- 8. sqliteを使用したデータ操作
- 9. 複製データ
- 10. SQLのデータ複製 -
- 11. 複製用データベースまたは簡単なデータ転送用データベース
- 12. 複数のAndroidアプリで同じsqliteデータベースを使用
- 13. Mogodb-Railsのデータ複製 - Mongomapper
- 14. __m256iデータ型の複製
- 15. Android SQLite永久データ
- 16. Google App Engineを使用した複数の.order()呼び出し
- 17. SQLiteDatabaseを使用した複数のテーブルからのSQLiteクエリ
- 18. Androidホームグリッドビューを複製する
- 19. Google App Engineで複製されたデータと複数の検索の比較 - 設計の意思決定
- 20. Webサービスサービスの追加参照.NETデータ複製の複製
- 21. AndroidとPhonegapを使用したSQLiteデータベースの格納
- 22. Google App Engineのクラウドエンドポイントを使用したAndroidアプリのローカルテスト
- 23. android sqlite cursor:複数の類似データを取得する
- 24. データ入力SQLiteのAndroid
- 25. Android SQLiteデータの挿入
- 26. SQLiteデータベースのデータを使用してAndroidでボタンを作成する
- 27. Google App Engineを使用した複数のサービスフレキシブル環境
- 28. Java App Engineを使用した複数のサイト
- 29. グラフAPIを使用したandroid appのFacebookフレンドリー
- 30. iphone NSdateを使用したsqlite datetimeデータ型?