mysql怎么创建多对多
时间 : 2023-03-08 01:00:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

1. 创建实体表 A 和 B。

CREATE TABLE A (

A_id INT NOT NULL PRIMARY KEY,

...

);

CREATE TABLE B (

B_id INT NOT NULL PRIMARY KEY,

...

);

2. 创建中间表 C,包含两个引用实体表 A 和 B 主键的列 A_id 和 B_id。

CREATE TABLE C (

A_id INT NOT NULL,

B_id INT NOT NULL,

PRIMARY KEY(A_id, B_id),

FOREIGN KEY (A_id) REFERENCES A(A_id),

FOREIGN KEY (B_id) REFERENCES B(B_id)

);

3. 在中间表 C 中插入数据来建立 A 和 B 的多对多关系。

INSERT INTO C (A_id, B_id) VALUES

(1, 100),

(1, 101),

(2, 100),

(2, 102);

以上 SQL 语句将 A 表中的记录 1 和 2 分别与 B 表中的记录 100、101 和 102 建立多对多关系,存储在中间表 C 中。

4. 可以使用 JOIN 查询语句来查询 A 和 B 之间的多对多关系。

SELECT A.*, B.*

FROM A

JOIN C ON A.A_id = C.A_id

JOIN B ON B.B_id = C.B_id;

以上 SQL 语句将返回 A 和 B 表的所有列以及它们之间的多对多关系。

总之,在 MySQL 中创建多对多关系是一件非常常见的任务,需要使用中间表来实现。以上是具体的创建步骤,需要根据实际情况进行调整。