在PostgreSQL中实现多对多关系需要创建一个单独的桥接表。这个表,被称为“连接表”,用于连接关系中涉及的主表。
为此,请创建以下三个表:
CREATE TABLE product ( product_id serial PRIMARY KEY, product text NOT NULL, price numeric NOT NULL DEFAULT 0 ); CREATE TABLE bill ( bill_id serial PRIMARY KEY, bill text NOT NULL, billdate date NOT NULL DEFAULT CURRENT_DATE ); CREATE TABLE bill_product ( bill_id int REFERENCES bill (bill_id) ON UPDATE CASCADE ON DELETE CASCADE, product_id int REFERENCES product (product_id) ON UPDATE CASCADE, amount numeric NOT NULL DEFAULT 1, CONSTRAINT bill_product_pkey PRIMARY KEY (bill_id, product_id) );
这种结构通过bill_product
连接表有效地连接了product
和bill
表,从而建立了多对多关系。
以上是如何在PostgreSQL中实现多对多关系?的详细内容。更多信息请关注PHP中文网其他相关文章!