私は、一度に1つだけ選択でき、トグルすることができるボタンのセットを持っています。つまり、ユーザーが選択したボタンを選択すると再度選択を解除する必要があります。
私のテーブルはbuttons_id
、user_id
、value
カラムにあり、buttons_id
とuser_id
は(一緒に結合された)主キーです。
だから私はbuttons_id
場合は、テーブルに、選択しvalue
を挿入Mysql INSERT ...値が異なる場合の重複キーの更新else delete
- にしたい、
user_id
コンボが存在しない(insert into
) - 更新記録
buttons_id
場合、 (
buttons_id
、user_id
コンボが存在し、値が同じ(delete ?
)
on duplicate key update
)
user_id
コンボが存在し、値が異なっています
これはどのように行うことができますか? case
をon duplicate key update
の中に使用できますか?
一言でこのアクションは、文の中で最初に書くことです。 – FDavidov
ボタンの状態は、変数(またはボタンコンポーネント自体)でアプリで最もよく処理されるものです。それ以外の場合は、更新後にデータベースを再度照会して、現在アクティブなボタンを確認する必要があります(ただし、アプリでこれを押しただけです)。特定のボタンを押すだけで他のボタンが選択解除されないため、あなたのアプローチがうまくいかない場合でも、ただ1つのボタンだけをアクティブにすることができます。したがって、 'user_id'(主キー)ごとに1行、' button_id'として最後に押されたボタン、 'value'として(知られている)状態を更新してください。 – Solarflare