
1 mhycy 2014-12-16 11:18:47 +08:00 字符串已知的话用IN ids IN ("5","2","3","6") |
2 Cynic222 2014-12-16 11:22:27 +08:00 你这样用"like"等于用"=" |
3 l1905 2014-12-16 13:05:12 +08:00 ids 字符串前后都加逗号, ids='1,2,3,4' => ids=',1,2,3,4,' 查询语句: ids like '%,5,%' or ids like '%,2,%' or ids like '%,3,%' or ids like '%,6,%' |
4 s2555 OP |
5 konakona 2014-12-16 13:55:12 +08:00 比如你有一笔数据 $ids = '1,2,3,7,8,65,32,12,32,55' 你可以执行: select * from tablename where id in ('{$ids}'); //select * from tablename where id in('1,2,3,7,8,65,32,12,32,55'); |
6 s2555 OP 可能我表达还不清楚,是这样的: 表结构 id : 1 value:1,2,3,4 要用值=5,2,3,4 去把这个数据查询出来 难道select * from 表 where value in(5,2,3,4) 这样吗? |
10 holystrike 2014-12-16 16:30:57 +08:00 把 5,2,3,6 拆成4个条件, 取 or 串在一起 select * from table where find_in_set(5, 字段名) OR find_in_set(2, 字段名) OR find_in_set(3, 字段名) OR find_in_set(6, 字段名) |
11 holystrike 2014-12-16 16:31:50 +08:00 但是效率很低 如果可能的话,重新设计表吧 |
12 s2555 OP @holystrike 这样的话用 like 就可以啦,看来只能这样的了。谢谢大家 |
13 holystrike 2014-12-16 16:58:32 +08:00 @s2555 like 不行吧,逗号怎么办? |