gpt4 book ai didi

MySQL:LIKE 查询帮助?

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:53 24 4
gpt4 key购买 nike

我的表中有一个名为 student_id 的列,我将与该列中特定记录关联的学生 ID 存储在该列中,用 | 字符分隔。以下是该列中数据的几个示例条目:

 243|244|245 
245|1013|289|1012
549|1097|1098|245|1099

我需要编写一个 SQL 查询来返回 student_id 为 `245 的记录。任何帮助将不胜感激。

最佳答案

不要在 student_id 字段中存储多个值,因为 First Normal Form 要求每个行和列的交叉点只有一个值.出于多种原因,这是一件好事,但显而易见的是,它解决了必须处理诸如 student_id 为“1245”的情况。

相反,最好有一个单独的表来存储与该表中的记录关联的学生 ID。例如(您也想为此表定义添加适当的约束),

CREATE TABLE mytable_student_id (
mytable_id INTEGER,
student_id INTEGER
);

然后您可以使用连接进行查询:

SELECT * FROM mytable JOIN mytable_student_id 
ON (mytable.id=mytable_student_id.mytable_id) WHERE mytable_student_id.student_id = 245

请注意,由于除了包含 student_id 字段外,您没有发布有关原始表的任何架构详细信息,因此我将其称为 mytable这个例子的(并假设它有一个名为 id 的主键字段——拥有一个主键是 1NF 的另一个要求)。

关于MySQL:LIKE 查询帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452893/

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