我相信标题是不言自明的。如何在MySQL中创建表结构以建立多对多关系。
我的 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
);
我正在尝试链接这两个表,以便每个辞职请求都有多个 list 项目。此外, list 项目在添加和删除时可以增长和缩小,辞职请求表在添加和删除时也可以增长和缩小。仅供引用,我正在使用 codeigniter 框架,我不知道如何实现这一点。
最佳答案
使用两个相关表的外键创建一个数据透视表。
假设您有一个包含列 id
的产品表和name
。
还有一个购物车表,其中包含列 id
和name
。
要在产品和购物车表之间创建多对多关系,请创建一个包含列 product_id
的中间表。 (外键引用 id
表的 Product
列)和 cart_id
(外键引用id
表的Cart
列)
更新 1:
在您的情况下,中间表将包含 pr_resignations_request_id
(外键引用 id
表的 pr_resignations_request
列)和 pr_exit_checklist_id
(外键引用checklist_id
表的pr_exit_checklist
列)
更新 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)
);
请替换<data_type>
在上面的sql语句中分别指定它们所引用的列的数据类型。
关于mysql - 如何在mysql中创建多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38812507/