前端之家收集整理的这篇文章主要介绍了
在Postgresql中,强制在两列的组合上唯一,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在postgre
sql中设置一个表,使得两列一起必须是唯一的。可以有任何值的多个值,只要没有两个共享这两个值。
例如:
CREATE TABLE soMetable (
id int PRIMARY KEY AUTOINCREMENT,col1 int NOT NULL,col2 int NOT NULL
)
因此,col1和col2可以重复,但不能同时。所以,这将被允许(不包括id)
1 1
1 2
2 1
2 2
但不是这样:
1 1
1 2
1 1 -- would reject this insert for violating constraints
CREATE TABLE soMetable (
id serial primary key,col2 int NOT NULL,unique (col1,col2)
)
autoincrement不是postgresql。你想要一个串口。
如果col1和col2是唯一的并且不能为null,那么它们就是一个很好的主键:
CREATE TABLE soMetable (
col1 int NOT NULL,primary key (col1,col2)
)
原文链接:https://www.f2er.com/postgresql/193674.html