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