在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
連接表有效地連接了product
和bill
表,從而建立了多對多關係。
以上是如何在PostgreSQL中實現多對多關係?的詳細內容。更多資訊請關注PHP中文網其他相關文章!