H2数据库:仅对非NULL值的唯一约束? (过滤索引)
Posted
技术标签:
【中文标题】H2数据库:仅对非NULL值的唯一约束? (过滤索引)【英文标题】:H2 database: unique constraint only over non-NULL values? (filtered index) 【发布时间】:2017-04-22 13:30:42 【问题描述】:SQL Server 2008 apparently has filtered indices。
在 H2 中实现相同目标的最简洁方法是什么?
【问题讨论】:
【参考方案1】:我相信您可以为此目的使用计算列。 . .假设你有一个唯一的 id。让我假设唯一的 id 是数字的,永远不会是负数。那么:
alter table t add col (case when <condition> then -1 else uniqueid end);
create unique index unq_t_col on t(col);
我相信 H2 支持唯一索引、计算列和计算列上的索引,所以这应该可以工作。
【讨论】:
感谢您的建议。我将测试这种方法。还在想是否有不需要额外表格列的解决方案。以上是关于H2数据库:仅对非NULL值的唯一约束? (过滤索引)的主要内容,如果未能解决你的问题,请参考以下文章