首页 >数据库 >mysql教程 >如何在PostgreSQL中实现多对多关系?

如何在PostgreSQL中实现多对多关系?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-22 14:42:09779浏览

How to Implement Many-to-Many Relationships in PostgreSQL?

在PostgreSQL中实现多对多关系

在PostgreSQL中实现多对多关系需要创建一个单独的桥接表。这个表,被称为“连接表”,用于连接关系中涉及的主表。

为此,请创建以下三个表:

<code class="language-sql">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)
);</code>

这种结构通过bill_product连接表有效地连接了productbill表,从而建立了多对多关系。

以上是如何在PostgreSQL中实现多对多关系?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn