Primary key with check option : Primary Key « Constraints « PostgreSQL






Primary key with check option


postgres=#
postgres=# CREATE TABLE employee
postgres-#              (id integer PRIMARY KEY CHECK (id > 100),
postgres(#               last_name text NOT NULL,
postgres(#               first_name text);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "employee_pkey" for table "employee"
CREATE TABLE
postgres=#
postgres=# insert into employee values(1000, 'a', 'b');
INSERT 0 1
postgres=# insert into employee values(200,  'c',  'd');
INSERT 0 1
postgres=# insert into employee values(11,   'a',   'b');
ERROR:  new row for relation "employee" violates check constraint "employee_id_check"
postgres=#
postgres=# select * from employee;
  id  | last_name | first_name
------+-----------+------------
 1000 | a         | b
  200 | c         | d
(2 rows)

postgres=#
postgres=# drop table employee;
DROP TABLE
postgres=#
           
       








Related examples in the same category

1.Implicit index is created when creating a table for a primary key
2.Primary keys constrains more than one column
3.Indicate one column as the primary key column
4.PRIMARY KEY will create implicit index
5.Add PRIMARY KEY in table creation
6.Use sequence value as a primary key