unique constraints

From: "Campbell, Lance" <lance(at)illinois(dot)edu>
To: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: unique constraints
Date: 2016-12-16 15:30:14
Message-ID: B75CD08C73BD3543B97E4EF3964B7D70479DACB2@CITESMBX1.ad.uillinois.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

PostgreSQL 9.5

I have a table:

CREATE TABLE test
(
id integer NOT NULL,
tag_id integer,
CONSTRAINT test_id_tag_id_key UNIQUE (id, tag_id)
)
WITH (
OIDS=FALSE
);

I noticed I can insert this into the database:

Insert into test (id, tag_id) values(1,null);
Insert into test (id, tag_id) values(1,null);

But this does not work:

Insert into test (id, tag_id) values(2,1);
Insert into test (id, tag_id) values(2,1); (error occurs)

Select * from test;

1, null
1, null
2, 1

I understand why in the second set of inserts I get an error when trying to insert the same set of values. But why does the first example work? I would have thought that it would have only allowed the first insert to work.

Thanks,

Lance

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Ron Watkins 2016-12-16 15:37:49 Re: unique constraints
Previous Message xu jian 2016-12-15 18:39:14 答复: [ADMIN] blocking issue when create index concurrently