我正在开发一个以糟糕的方式制作的数据库。我必须在逗号列中找到一个ID。
列值可以是:
我的查询是:
SELECT resource_id,filename,id FROM image WHERE other_vendors = '".$vendor_id."'
$vendor_id
将为6154
现在我如何在SQL QUERY中匹配LIKE REGULAR EXPRESSION,其中我获得了逗号字符串中包含6154或6154的所有值。
答案 0 :(得分:1)
我认为这是最简单的方法:
SELECT resource_id,filename,id FROM image WHERE (','+other_vendors +',') like '%,$vendor_id,%'
答案 1 :(得分:1)
只需使用内置函数find_in_set,在逗号分隔列表中搜索字符串:
SELECT resource_id,filename,id FROM image WHERE find_in_set('6154',other_vendors)
答案 2 :(得分:0)
尝试类似:
SELECT resource_id,filename,id FROM image WHERE other_vendors REGEXP '.*(6154){1}.*'
答案 3 :(得分:0)
SELECT resource_id,filename,id FROM image WHERE other_vendors = '%6154%'