Constraints
Check
Column Constraint
- Must satisfy boolean expression
- Can only reference column it references
CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0)
);- Can be named for clarity
CREATE TABLE products (
product_no integer,
name text,
price numeric **CONSTRAINT positive_price** CHECK (price > 0)
);Table Constraint
- Can be for the whole row
CREATE TABLE products (
product_no integer,
name text,
price numeric CHECK (price > 0),
discounted_price numeric CHECK (discounted_price > 0),
CHECK (price > discounted_price)
);- With name:
CREATE TABLE products (
product_no integer,
name text,
price numeric,
CHECK (price > 0),
discounted_price numeric,
CHECK (discounted_price > 0),
CONSTRAINT valid_discount CHECK (price > discounted_price)
);Not Null
CREATE TABLE products (
product_no integer NOT NULL,
name text NOT NULL,
price numeric
);
CREATE TABLE products (
product_no integer NOT NULL,
name text CONSTRAINT products_name_not_null NOT NULL,
price numeric
);Unique
CREATE TABLE products (
product_no integer UNIQUE,
name text,
price numeric
);
CREATE TABLE products (
product_no integer,
name text,
price numeric,
UNIQUE (product_no)
);- Compositions of columns:
CREATE TABLE example (
a integer,
b integer,
c integer,
UNIQUE (a, c)
);Last updated on