我需要一些帮助。我试图从某个critera上的数据库中获取记录,但无法确定可行的确切逻辑。就像我有一张桌子,我在其中存储一些像
这样的ID1,14,23,45,17,8,9,11 etc
我收到一个像这样的数组
1,2,19,45,56,65
我认为是爆炸数组并将各个索引与数据库中的列匹配。但这是问题..
如果我使用
与%value%query一样,如果我们运行
,则返回非必需结果SELECT *
FROM `table`
WHERE `table_skills_id` LIKE '%2%'
LIMIT 0 , 30
你可以看到2不在我上面写的初始数组或列中,但因为那里有23,它回复说有一个结果匹配,因为它应该说0行匹配
我想要的是它匹配整数而不是单独匹配它们。我试过“喜欢%2”以及“喜欢2%”,但没有一个能正常工作。
任何快速帮助都将受到高度赞赏。
感谢。
答案 0 :(得分:1)
您可以使用FIND_IN_SET功能:
SELECT *
FROM `table`
WHERE FIND_IN_SET('2', `table_skills_id`)>0
LIMIT 0 , 30
答案 1 :(得分:1)
SELECT *
FROM `table`
WHERE `table_skills_id` IN (1,2,19,45,56,65)
LIMIT 0 , 30
答案 2 :(得分:0)
我想你想要" in"运营商而不是:
SELECT *
来自table
在{1,2,19,45,56,65)中table_skills_id
。