gpt4 book ai didi

mysql - 一对多/多对多 SQL

转载 作者:行者123 更新时间:2023-11-29 04:45:21 25 4
gpt4 key购买 nike

我正在使用 mysql 并遇到了一些困惑。我创建了两个表 academycourses。我需要帮助来确定如何构建表字段。例如 one to many 模式。一个学院可以提供很多类(class),一个类(class)可以与许多学院一起提供。下表的结构是否正确?

create table academy
(
academy_id int(11) not null auto_increment,
course_id int() NOT NULL ,
name varchar(25) not null,
primary key (id),
);
CREATE TABLE course
(
course_id int(11) not null auto_increment,
course_name VARCHAR(50) NOT NULL ,
primary key (course_id),
foreign key (academy_id) REFERENCES academy (academy_id) on delete cascade
);

期望结果的例子

    id Name                  Course

1 The Alamo School 125 Intro to Programming
2 Bearcat High School 125 Intro to Programming

最佳答案

您真正需要的是学院表、类(class)表和可以存储多对多关系的关系表。我将查询留给您以获得您正在寻找的结果:)

CREATE TABLE academy
(
academy_id int(11) not null auto_increment,
name varchar(25) not null,
primary key (id),
);

CREATE TABLE course
(
course_id int(11) not null auto_increment,
course_name VARCHAR(50) NOT NULL ,
primary key (course_id),
);

CREATE TABLE accademy_course
(
academy_id int(11) not null,
course_id int(11) not null ,
primary key (academy_id, course_id),
foreign key (academy_id) REFERENCES academy (academy_id) on delete cascade,
foreign key (course_id) REFERENCES course (course_id) on delete cascade
);

关于mysql - 一对多/多对多 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19871237/

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