#问题描述

在mysql的表中某一个键值是由,分隔的多个id组成的字符串, 例如: 1,2,3,4,5,6,7,8.
现在需要搜索所有拥有id3的行, 例如: 1,2,3,4, 1,2,3, 3,4,5,6.

#方法一

这是我自己想到的最笨的方法, 就是将数据都取出之后再查找, 效率肯定很低.
不推荐.

#方法二

用模糊搜索, 但是假如匹配id3的字段, 也同时会匹配id3113的字段.
解决方案是将字符串头尾添加,, 这样匹配,3,即可.只是不够优雅.
不推荐.

#方法三

mysql提供了内置的函数FIND_IN_SET(str,strlist),
只需find_in_set('3', user_id_list)即可.
推荐.

谢谢群里的大神.