今天看到这样的一个查询(下图),等号关联直接查询出包含关系的结果
然后新建了两个表测试一下。
查询:
对比了下表结构,前面查询a.kp_id是mediumtext类型,b.kp_id是bigint类型。
新建的student、teacher字段类型做了调整后,再次查询:
发现确实是字段类型问题。又尝试把student.id和teacher.id分别改为其他字符串和数值类型,结果相同。
所以能看到 1,2,3(字符串型) = 1(数值型)
开始以为查出来的是包含关系,后来也发现并不是,数值型只能匹配字符型第一个逗号前的数字。
原因暂时未知。
=========================================
查询数据表中某个字段包含某个数值可以用FIND_IN_SET(STR,strlist)函数,其中strlist只识别英文逗号。