【问题标题】:How to create many to many relationship in mysql [duplicate]如何在mysql中创建多对多关系[重复]
【发布时间】:2016-12-13 05:49:54
【问题描述】:

我相信标题是不言自明的。如何在 MySQL 中创建表结构以建立多对多关系。

我的桌子是:

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
);

我正在尝试链接这两个表,以便 foreach 辞职请求有多个清单项目。此外,清单项目在添加和删除时可以增长和缩小,并且辞职请求表在添加和删除时可以增长和缩小。仅供参考,我正在使用 codeigniter 框架,我不知道如何实现这一点。

【问题讨论】:

    标签: mysql many-to-many


    【解决方案1】:

    使用两个相关表的外键创建一个数据透视表。
    假设您有一个 Product 表,其中包含 idname 列。 还有一个具有 idname 列的购物车表。
    要在产品表和购物车表之间创建多对多关系,请创建一个中间表,其中包含列product_id(外键引用Product 表的id 列)和cart_id(外键引用idCart 表)

    更新 1:

    在您的情况下,中间表将包含pr_resignations_request_id(外键指pr_resignations_request 表的id 列)和pr_exit_checklist_id(外键指checklist_id 表的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语句中的&lt;data_type&gt;分别替换为它们所引用的列的数据类型。

    【讨论】:

    • 我可以举个例子吗?在这种情况下,我对更新将如何工作感到困惑
    • 更新了答案。中间表可以有任何你想要的名字
    • 你明白了吗?
    • 我应该添加sql语句来创建表吗?
    • 它更好.. 我认为
    猜你喜欢
    • 2019-10-11
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多