Postgresql:有条件的唯一约束

我想添加一个约束,它只在表的一部分中对列强制唯一性。
ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null);

上面的部分是一厢情愿的想法。

任何方式这样做?还是我应该回到关系绘图板?

Postgresql没有定义部分(即条件)UNIQUE约束 – 但是,您可以创建部分唯一索引。 Postgresql使用唯一索引来实现唯一约束,所以效果是一样的,你只是不会看到在information_schema中列出的constaint。
CREATE UNIQUE INDEX stop_myc ON stop (col_a) WHERE (col_b is null);

partial indexes

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...