「ソフト削除」の意味を知っていますか?これは、すべての「削除」操作が、一部のdeleted
のみを設定するSQLに変換されることを意味します。 true
へのフラグ 。また、同じ値の一意のフィールドで行がソフト削除された別の行を挿入すると、このメッセージが表示されます。
この問題を解決するには、次の2つの方法があります。
- 元の一意のフィールドと
deleted
の2つの列で一意のインデックスを作成します 国旗。次に、ソフト削除されていない場合にのみ既存の一意のフィールド値を使用して行を追加しようとした場合にのみ、このエラーが発生します。 - この違反を避ける:一意のフィールドに別の行と重複する行を追加する可能性を除外する必要があります。
2つ目は、私見の最善のアプローチです。