【发布时间】:2013-08-20 01:17:57
【问题描述】:
我的数据库包含一个用户表。每个活跃用户都有一个唯一的用户名。我希望能够停用用户并释放他们正在使用的用户名,但将它们保留在同一个表中。
有没有办法只有条件地强制执行唯一性约束?
【问题讨论】:
-
让什么成为可能? UI 是否将已删除的用户显示为“USER DELETED”,或者该表中的该列多次包含相同的值?
-
@delnan:鉴于标题,我假设是后者。
-
只需创建字段 - 类似于状态(开 - 关)。或 dtime(删除 lol 的时间)。或者...
-
@Cthulhu 你是说字段?
-
@WhozCraig:一种可能性是可能有活动记录、交易记录、消息等。出于历史目的需要保留。也许“已删除”真的意味着“禁用和存档”之类的东西。 (这可以追溯到克苏鲁关于标志或日期时间的单独列的想法。