欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql多對多怎樣建表

夏志豪2年前7瀏覽0評論

MySQL多對多關系建表有許多方法,但最常見的方法是使用中間表。中間表允許兩個表之間的多對多關系降為一對多關系。

CREATE TABLE table1 (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE table2 (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE middle_table (
id INT(11) NOT NULL AUTO_INCREMENT,
table1_id INT(11) NOT NULL,
table2_id INT(11) NOT NULL,
PRIMARY KEY (id),
INDEX table1_id_idx (table1_id),
INDEX table2_id_idx (table2_id),
CONSTRAINT table1_fk FOREIGN KEY (table1_id)
REFERENCES table1 (id) ON DELETE CASCADE,
CONSTRAINT table2_fk FOREIGN KEY (table2_id)
REFERENCES table2 (id) ON DELETE CASCADE
);

這個代碼創建了三個表:table1、table2和它們之間的中間表middle_table。注意中間表中有兩個外鍵,它們是對應兩個表中的主鍵,它們的作用是鏈接兩個表,同時它們也是中間表的一部分。如果需要刪除主表中的一行數據,中間表的數據也將被自動刪除。

如果想要進行查詢操作,可以在中間表上連接兩個表。例如:

SELECT table1.name, table2.name FROM table1
JOIN middle_table ON table1.id = middle_table.table1_id
JOIN table2 ON middle_table.table2_id = table2.id;

這個查詢將返回table1和table2表中的數據,盡管它們之間沒有直接的聯系,因為中間表起到了連接兩個表的作用。