我这里有问题。我有以下架构的表:
id : int(11) not null primary key
name : varchar(255) not null
status : enum('ACTIVE','DELETED')
注意:记录是“软删除”,我们只是将状态标记为“已删除”。
问题是我不希望一个家伙能够通过 2 个不同的线程创建同名(冗余)的条目,除非 db 中的现有记录处于“已删除”状态。有什么可能的方法来做到这一点?
我不能只对名称+状态进行唯一索引,因为如果我们在“已删除”中有一个项目(同名),并且我想要删除的区域是“活动”,那么当我将该区域标记为时会发生错误被“删除”。