日期:2014-05-19  浏览次数:20540 次

能否创建一种特别的unique索引:带条件
形如以下内容:
create   unique   index   userName   on   employee(userName)   where   isValid=1

因为,isValid=0的记录属于做了删除标记的记录,很可能有多条,但需要确保isValid=1的记录没有重复的userName

我不太清楚能否对view创建索引,但我目前用的数据库很可能不支持view,所以希望不要通过view来实现。
如果有其他简单的方式能控制也行。

------解决方案--------------------
建立索引没有条件之说,
索引是建立在哪一列或哪些列,而不是建立在那一行或哪些行

------解决方案--------------------
这个问题其实挺典型的,我也一直希望所有的数据库都能实现这个功能。这个叫“部分索引”,只有几个数据库有这个功能,像postgrep,大部分数据库都没有的。楼主暂时只能换别的方法实现了,比如建另外一个表,只存有效的记录