我已经完成搜索,但是发现的一切都与我需要的方式相反。
我有一个数据库,其中的一个字段是一串ID,我想在数据库中已有的那个数组中搜索某个ID。
例如,在数据库中,它看起来像这样:
ID Title Spots Used 1 test 1 1,3,5,8 2 test 2 4,2,5,6,7 3 test 3 3,5,2,1
我需要搜索使用了ID为2的广告系列(应同时返回测试2和测试3)使用了多少个广告系列。
最好的方法是什么?到目前为止,我可以查询整个内容,逐行运行,并strpos搜索编号,但是问题是,当我最终获得10个以上的上传点时,1会返回1、10、11、12 13等
strpos
如果我需要提供更多信息,请告诉我。
如果这些ID以逗号分隔存储,则可以使用 FIND_IN_SET()
SELECT * FROM `table` WHERE FIND_IN_SET('2',`column_name`) >0
但是,如果您能够更改架构然后首先规范化表结构,则存储逗号分隔的值是个坏主意
数据库规范化