gpt4 book ai didi

mysql - 如何在此表上正确设置 2 个外键约束以实现 2 个表之间的多对多关系?

转载 作者:搜寻专家 更新时间:2023-10-30 22:33:49 25 4
gpt4 key购买 nike

我在 MariaDB 上工作(这和在 MySQL 上工作一样)。

我在尝试在实现 2 个表之间多对多关系的表的 2 个字段上设置 2 个外键约束时遇到一些问题。

所以我有以下表格:

  1. ACCOMODATION:每条记录代表一家酒店,包含以下字段:

     Field                                                            Type       Null Key Default    Extra                      
    ---------------------------------------------------------------------------------------------------------------------------
    id bigint(20) unsigned NO PRI auto_increment
    user_id bigint(20) unsigned NO
    accomodation_name varchar(100) NO
    description text YES
    nation varchar(100) YES
    region varchar(100) YES
    province varchar(100) YES
    city varchar(100) YES
    stars int(10) unsigned YES
    geographical_position point YES
    accomodation_typological_id bigint(20) unsigned YES MUL
    accomodation_service_id bigint(20) YES
  2. SERVICE:其中每条记录代表上表中酒店提供的一项服务:

     Field                                                            Type       Null Key Default    Extra                      
    ---------------------------------------------------------------------------------------------------------------------------
    id bigint(20) NO PRI auto_increment
    description varchar(255) NO

然后我创建了一个 ACCOMODATION_SERVICE 表,它实现了前两个表之间的多对多关系,这些是字段:

Field                                                            Type       Null Key Default    Extra                      
---------------------------------------------------------------------------------------------------------------------------
id bigint(20) unsigned NO PRI auto_increment
accomodation_id bigint(20) unsigned NO MUL
service_id bigint(20) unsigned NO

因此,在该表的 accomodation_id 字段中,我将 accomodation 表的 id 放入 service_id 这张表的 id service 表。

如何正确指定这 2 个字段必须是 accomodationservice 表的外键?我认为我必须指定此引用约束。

最佳答案

你需要做的

ALTER TABLE accomodation_service ADD CONSTRAINT fk_accomodation_id FOREIGN KEY(accomodation_id) REFERENCES accomodate(id)

同样的

ALTER TABLE accomodation_service ADD CONSTRAINT fk_service_id FOREIGN KEY(accomodationfk_service_id_id) REFERENCES service(id)

关于mysql - 如何在此表上正确设置 2 个外键约束以实现 2 个表之间的多对多关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com