ここで問題があります。次のスキーマのテーブルがあります。
id : int(11) not null primary key
name : varchar(255) not null
status : enum('ACTIVE','DELETED')
注: レコードは「ソフト削除済み」であり、ステータスに「削除済み」のフラグを立てるだけです。
問題は、db の既存のレコードが 'DELETED' 状態でない限り、2 つの異なるスレッドを介して同じ名前 (冗長) のエントリを作成できるようにしたくないということです。これを行うにはどのような方法がありますか?
「DELETED」に(同じ名前の)アイテムがあり、削除したいゾーンが「ACTIVE」の場合、ゾーンにフラグを立てるとエラーが発生するため、名前とステータスを一意にインデックス付けすることはできません「削除」されます。