我有一個需要更新記錄,如果它存在,否則插入它。我知道這已被問了幾次,但我認爲我的問題有點棘手。更新記錄,如果存在其他插入
我有一個表(tbl_settings):
setting_id | token | setting_value | setting_for
1 1 on background
2 1 off vibrate
3 2 on vibrate
等
這是一個移動應用程序,我將保存在遠程數據庫的用戶設置,以便在需要時以後可以檢索。
Setting_id是唯一的自動增量。
令牌將是該設備令牌ID(用戶專用)
Setting_value是值(開/關),用於那個特定的設置
Setting_for是實際的設置名稱
現在有4個設置選項可供用戶使用,可以在單獨時間(當用戶更改設置開/關時)寫入數據庫,或者如果更好,可以一起寫入數據庫。
因此,如果用戶更改振動設置,我需要一個查詢來檢查振動和令牌是否存在更新該特定記錄,否則插入令牌,setting_value和setting_for。
希望它可能在一個單一的查詢。如果沒有,我只會使用多個查詢,一個用來檢查是否存在,另一個用於插入或更新。
對於這種情況,自動遞增鍵似乎是一個非常糟糕的主意。基於標記和setting_for的組合鍵似乎是一個更好的主意。 –