使用MYSQL查询数据表中某个字段包含某个数值find_in_set()函数

使用MYSQL查询数据表中某个字段包含某个数值find_in_set()函数

一、需求

查询一道试题是否被试卷使用

二、问题

1、由于设计试卷存储的是试题的ids,没有存储试卷与试题的中间表
2、查询时需要查询取出值进行循环操作,影响查询时间和用户体验度
3、根据关键词搜索一番后找到办法 可以使用MySql原始FIND_IN_SET()函数来实现
4、根据试题id查询出试卷表存储试题ids 的字段是否包含 此试题id

三、使用方法:

 select * from 表名 where find_in_set('值',字段名) 

注意 : 逗号是英文的逗号

四、引申问题

如果前端数据传参的多次用到会增加改动量,所以设计存储格式时需要简单存储

1、一对多关系, A和B两张表, A存储试题信息,B存储试卷信息 B表存储试题ids时 进行简单的存储

    quest_ids : 1,2,3

2、原因是 使用mysql原始find_in_set函数如果是以下格式是查询不到数据的

 例如 quest_ids : [1,2,3] 或者 quest_ids : ['1','2','3'] 或者quest_ids :'1','2','3' 

猜你喜欢

转载自blog.csdn.net/qq_40660283/article/details/116025590
今日推荐