Reference two two columns as foreign key column : FOREIGN KEY « Constraints « PostgreSQL






Reference two two columns as foreign key column


postgres=#
postgres=#
postgres=# CREATE TABLE products (
postgres(#    product_no integer PRIMARY KEY,
postgres(#    name text,
postgres(#    price numeric
postgres(# );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "products_pkey" for table "products"
CREATE TABLE
postgres=#
postgres=# CREATE TABLE orders (
postgres(#    order_id integer PRIMARY KEY,
postgres(#    shipping_address text
postgres(# );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "orders_pkey" for table "orders"
CREATE TABLE
postgres=#
postgres=# CREATE TABLE order_items (
postgres(#    product_no integer REFERENCES products,
postgres(#    order_id integer REFERENCES orders,
postgres(#    quantity integer,
postgres(#    PRIMARY KEY (product_no, order_id)
postgres(# );
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "order_items_pkey" for table "order_items"
CREATE TABLE
postgres=#
postgres=#
postgres=# drop table products cascade;
NOTICE:  drop cascades to constraint order_items_product_no_fkey on table order_items
DROP TABLE
postgres=# drop table orders cascade;
NOTICE:  drop cascades to constraint order_items_order_id_fkey on table order_items
DROP TABLE
postgres=# drop table order_items cascade;
DROP TABLE
postgres=#
postgres=#
           
       








Related examples in the same category

1.Define foreign key for a table
2.Adding constraints (FOREIGN KEY) to a table
3.Adding a constraint to an existing table: add foreign key to table
4.Create FOREIGN KEY
5.Using foreign keys
6.ALTER TABLE employee ADD FOREIGN KEY (group_id) REFERENCES product_groups