A表、B表字段均为数字类字符串:如‘2,3,6,34,23’、‘43,23,8,35’。现在要用A表字段去搜索B表,请高手指点下开始是把A字段打成数组去likeB字段,结果发现不行,如果A字段里有3,那么B字段里23,33,43带3的都会被检索。所以求更好的解决方法!

解决方案 »

  1.   

    好主意,但是B表最后一个没有‘,’啊,还是无法匹配,有没有PHP函数可以实现啊
      

  2.   

    $str='2,3,6,34,23';SELECT * FROM B WHERE id IN ($str);
      

  3.   

    你保存数据时,前后都一定要带有 ,
    构造成这样:,2,,4,然后你就用 like ',3,'
      

  4.   

    写一个sql update 一下不就行了?在前面和后面加个 , 而己。
      

  5.   

    把A字段打成数组去 like B字段
    是不行的,原因你也知道了但是 把A字段打成数组 是对的
    比较时用 find_in_set 就行了
    比如
    find_in_set('3','23,33,43')
    就不会匹配到