使用场景:
判断某个字符串的字段中是否有某个值。使用Mysql的查询,find_in_set();
举例:在多对多的关系中,创建数据表的时候,一般是三张表,例如一张教师表,一张学生表,一张学生和教师的关联关系表。但是,有些时候,我们会只有两张表,教师表和学生表,在学生表中有一个字段保存了学生关联的多个教师的id
学生ID | 学生名称 | 教师ID |
---|---|---|
1 | 章三 | 1,2,3 |
这个时候,如果需要查询关联了教师ID为1的学生的列表,就可以使用find_in_set()了。
使用方法:
FIND_IN_SET(str,strlist);
str:要查询的条件
strlist:目标字段;该字段可以是字符串,也可以是具体的表里的某个字段
select id, list, name from table where find_in_set('1', "2,3,4,1");
// 查询1是否在后面的参数中,如果在,会返回第一个参数在第二个参数中的位置,当前第二个参数中,1出现的位置是4