使用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' 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值