mysql> select * from a; +----------------+ | id | +----------------+ | 123,234,543,45 | | 12,65,34,6,4 | | 23,23,65,34,54 | +----------------+ 3 rows in set (0.00 sec)mysql> select * from a where 123 in (id); +----------------+ | id | +----------------+ | 123,234,543,45 | +----------------+ 1 row in set (0.00 sec)
where strid like '%272%'
楼主你看看字段的类型试试 where strid in ('272')
你 的 类型对不啊 下面是我刚从数据中写的一条语句:SELECT * FROM petinfo WHERE pet_id IN (6)我的pet_id为int 在数据库这样查是对的
我类型是varchra的 如果是int的类型。。加不了,号啊
show create table table_name; 看一下你的表结构
`id` int(11) NOT NULL auto_increment, `strid` varchar(200) default NULL,是这样子的
是varchar的应该就可以查询得出来啊
mysql> select * from cg where 272 in (strid); Empty set 我查询结果是这样的
嗯!是查询不出来,你试一下这条语句:mysql> select * from a; +----------------+ | id | +----------------+ | 123,234,543,45 | | 12,65,34,6,4 | | 23,23,65,34,54 | | 432,76 | +----------------+ 4 rows in set (0.02 sec)mysql> select * from a where find_in_set(234,id); +----------------+ | id | +----------------+ | 123,234,543,45 | +----------------+ 1 row in set (0.00 sec)
mysql> select * from a;
+----------------+
| id |
+----------------+
| 123,234,543,45 |
| 12,65,34,6,4 |
| 23,23,65,34,54 |
+----------------+
3 rows in set (0.00 sec)mysql> select * from a where 123 in (id);
+----------------+
| id |
+----------------+
| 123,234,543,45 |
+----------------+
1 row in set (0.00 sec)
where strid in ('272')
下面是我刚从数据中写的一条语句:SELECT * FROM petinfo WHERE pet_id IN (6)我的pet_id为int 在数据库这样查是对的
`strid` varchar(200) default NULL,是这样子的
Empty set
我查询结果是这样的
+----------------+
| id |
+----------------+
| 123,234,543,45 |
| 12,65,34,6,4 |
| 23,23,65,34,54 |
| 432,76 |
+----------------+
4 rows in set (0.02 sec)mysql> select * from a where find_in_set(234,id);
+----------------+
| id |
+----------------+
| 123,234,543,45 |
+----------------+
1 row in set (0.00 sec)