sqlite にはON CONFLICT
、挿入または更新によってキー違反が発生した場合に何かを実行できる、挿入および更新の句があります: http://www.sqlite.org/lang_conflict.html
UPDATE ON CONFLICT DELETE
とにかく(おそらくトリガーを使用して)節をエミュレートすることが可能かどうかを知りたいUPDATE ON CONFLICT REPLACE
. 基本的に、行を更新するX
と既存の行と競合する場合、行Y
を削除したいと思いX
ます(更新されていないフォームはエラーであるため)。REPLACE
キーワードは、すべての s を削除してからにY
追加するようX
です。新しい行ではなく、行の他の列 (競合していない)Y
を残す必要があるため、 .X
REPLACE