Postgresql:条件唯一约束

我想添加一个约束,它只在表的一部分中对列强制唯一性

ALTER TABLE stop ADD CONSTRAINT myc UNIQUE(列a),其中(列b为null);

上面的部分是一厢情愿

有办法吗?还是应该回到关系绘图板

PostgreSQL不定义部分(即有条件的)UNIQUE约束-但是,您可以创建部分唯一的索引。PostgreSQL使用唯一索引来实现唯一约束,因此效果是一样的,您只是看不到information\u schema中列出的约束

在停止(列a)时创建唯一索引停止(列b不为空);

见部分索引

发表评论