字段值 - 29,21,30,28,32,35,49,50,137
SELECT *
FROM `smartspace_pickups`
WHERE `cat_id` LIKE '%37%'
LIMIT 0 , 30
我有一个字段,其中 id 以逗号分隔,现在我尝试使用上述查询获取数据,但它给了我 ID 为 137 和 371 的值。我只想要字符串中 ID 为 37 的值。
SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37',`cat_id`)
LIMIT 0 , 30
您可以使用FIND_IN_SET(str,strlist)
SELECT *
FROM `smartspace_pickups`
WHERE FIND_IN_SET('37', `cat_id`) > 0
LIMIT 0 , 30
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
使您的 ids 字段像这样(在开头和结尾添加逗号)
,29,21,30,28,32,35,49,50,137,
并将您的查询更改为
LIKE '%,37,%'