如何在 mysql 中创建多对多关系
How to create many to many relationship in mysql
我相信标题是 self-explanatory。如何在 MySQL 中创建 table 结构以建立 many-to-many 关系。
我的 table 是:
pr_resignations_request(
id, userids ,managerid ,resignations_date ,reason_type requested_date, last_status, date_last_status, agreed_date exit_details, exit_checklist, exit_type, comments, discussion, withdrawn, manager_comments
);
pr_exit_checklist(
checklist_id, category, action item, responsibility, time_completion, status
);
我正在尝试 link 两个 table 以便每个辞职请求都有多个清单项目。此外,清单项目可以在添加和删除时增大和缩小,辞职请求 table 也可以在添加和删除时增大和缩小。仅供参考,我正在使用 codeigniter 框架,我不知道如何实现这一点。
使用两个相关 Table 的外键创建数据透视表 table。
假设您有一个包含列 id
和 name
的产品 table。
还有一个包含列 id
和 name
的购物车 Table。
要在产品和购物车 table 之间创建多对多关系,请创建一个包含列 product_id
的中间 table(外键引用 Product
的 id
列 table) 和 cart_id
(外键引用 Cart
table 的 id
列)
更新 1:
在您的情况下,中间 table 将包含 pr_resignations_request_id
(外键指的是 pr_resignations_request
table 的 id
列)和 pr_exit_checklist_id
(外键指的是 pr_exit_checklist
table 的 checklist_id
列)
更新 2:
CREATE TABLE checklist_resignation (
pr_resignations_request_id <data_type>,
pr_exit_checklist_id <data_type>,
Constraint FOREIGN KEY (pr_resignations_request_id) REFERENCES pr_resignations_request(id),
Constraint FOREIGN KEY (pr_exit_checklist_id) REFERENCES pr_exit_checklist(checklist_id)
);
请将上面sql语句中的<data_type>
替换为它们分别引用的列的数据类型。
我相信标题是 self-explanatory。如何在 MySQL 中创建 table 结构以建立 many-to-many 关系。
我的 table 是:
pr_resignations_request(
id, userids ,managerid ,resignations_date ,reason_type requested_date, last_status, date_last_status, agreed_date exit_details, exit_checklist, exit_type, comments, discussion, withdrawn, manager_comments
);
pr_exit_checklist(
checklist_id, category, action item, responsibility, time_completion, status
);
我正在尝试 link 两个 table 以便每个辞职请求都有多个清单项目。此外,清单项目可以在添加和删除时增大和缩小,辞职请求 table 也可以在添加和删除时增大和缩小。仅供参考,我正在使用 codeigniter 框架,我不知道如何实现这一点。
使用两个相关 Table 的外键创建数据透视表 table。
假设您有一个包含列 id
和 name
的产品 table。
还有一个包含列 id
和 name
的购物车 Table。
要在产品和购物车 table 之间创建多对多关系,请创建一个包含列 product_id
的中间 table(外键引用 Product
的 id
列 table) 和 cart_id
(外键引用 Cart
table 的 id
列)
更新 1:
在您的情况下,中间 table 将包含 pr_resignations_request_id
(外键指的是 pr_resignations_request
table 的 id
列)和 pr_exit_checklist_id
(外键指的是 pr_exit_checklist
table 的 checklist_id
列)
更新 2:
CREATE TABLE checklist_resignation (
pr_resignations_request_id <data_type>,
pr_exit_checklist_id <data_type>,
Constraint FOREIGN KEY (pr_resignations_request_id) REFERENCES pr_resignations_request(id),
Constraint FOREIGN KEY (pr_exit_checklist_id) REFERENCES pr_exit_checklist(checklist_id)
);
请将上面sql语句中的<data_type>
替换为它们分别引用的列的数据类型。