我想添加一个约束,它只在表的一部分中对列强制唯一性
ALTER TABLE stop ADD CONSTRAINT myc UNIQUE(列a),其中(列b为null);
上面的部分是一厢情愿
有办法吗?还是应该回到关系绘图板
PostgreSQL不定义部分(即有条件的)UNIQUE约束-但是,您可以创建部分唯一的索引。PostgreSQL使用唯一索引来实现唯一约束,因此效果是一样的,您只是看不到information\u schema中列出的约束
在停止(列a)时创建唯一索引停止(列b不为空);
见部分索引