gpt4 book ai didi

php - 需要帮助在 mySQL 中存储动态列表

转载 作者:行者123 更新时间:2023-11-29 07:24:09 24 4
gpt4 key购买 nike

我正在开发一个项目,需要在 SQL 数据库中存储未知长度的名称列表。这将是一个类(class)中的学生列表,每个类(class)的列表都不同。我还需要能够按学生姓名搜索它们(在 PHP/SQL 中),以查看学生参加的所有类(class)。我正在考虑将类(class)存储为一行,将学生存储为数组,但我无法找出查询数据库中数组的sql。我的方向正确吗?也许为每个类(class)的每个学生创建一个新的数据库行?也许让学生排成一行并更新每个类(class)的数组?稍后我可能会使用 AJAX 来检索信息。谢谢!

最佳答案

为什么不创建两个表来存储有关现有类(class)学生的信息,并创建一个关系表参与者来存储有关哪个学生去哪个类(class)的信息?

大致如下:

CREATE TABLE Classes (
id int NOT NULL,
description varchar(200),
PRIMARY KEY (id)
)

CREATE TABLE Studentes (
id int NOT NULL,
name varchar(200),
PRIMARY KEY (id)
)

CREATE TABLE Participant (
student_id int NOT NULL,
class_id int NOT NULL,
FOREIGN KEY (student_id) REFERENCES Students(id)
FOREIGN KEY (class_id) REFERENCES Classes(id)
)

然后,您可以使用如下 SQL 查询找出学生访问的类(class):

SELECT c.description
FROM Students s
LEFT JOIN Participant p ON (s.id = p.student_id)
LEFT JOIN Classes c ON (p.class_id = c.id)
WHERE s.name = 'SilverSlug'
;

关于php - 需要帮助在 mySQL 中存储动态列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35088803/

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