在Postgresql中,强制在两列的组合上唯一
发布时间:2020-12-13 16:50:18 所属栏目:百科 来源:网络整理
导读:我想在postgresql中设置一个表,使得两列一起必须是唯一的。可以有任何值的多个值,只要没有两个共享这两个值。 例如: CREATE TABLE someTable ( id int PRIMARY KEY AUTOINCREMENT,col1 int NOT NULL,col2 int NOT NULL) 因此,col1和col2可以重复,但不能
我想在postgresql中设置一个表,使得两列一起必须是唯一的。可以有任何值的多个值,只要没有两个共享这两个值。
例如: 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) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |