レコードが存在する場合は更新する必要があり、そうでない場合は挿入します。これが何度か尋ねられたことは知っていますが、私の問題は少しトリッキーだと思います。
私はテーブル(tbl_settings)を持っています:
setting_id | token | setting_value | setting_for
1 1 on background
2 1 off vibrate
3 2 on vibrate
等
これは、必要に応じて後で取得できるように、リモート DB にユーザー設定を保存するモバイル アプリ用です。
Setting_id は一意で、自動インクリメントです。
トークンは、デバイスのトークン ID (ユーザー固有) になります。
Setting_value は、その特定の設定の値 (オン/オフ) です。
Setting_for は実際の設定の名前です
現在、ユーザーが利用できる 4 つの設定オプションがあり、DB に個別に書き込むことができます (ユーザーが設定のオン/オフを変更したとき)。
したがって、ユーザーが振動設定を変更した場合、振動とトークンが存在するかどうかを確認するクエリが必要です。そうでない場合は、トークン、setting_value、および setting_for で挿入する特定のレコードを更新します。
うまくいけば、単一のクエリで可能です。そうでない場合は、複数のクエリを使用します.1つは存在するかどうかを確認し、もう1つは挿入または更新します。