我有一些数据,我认为FIND_IN_SET对我有用,但显然这是因为我所寻找的是第一个元素。
即。
SELECT * FROM myData WHERE FIND_IN_SET(2, field)>0
当数据如下时,不返回
|----field----| |---- Title ----|
|1, 2, 3, 4 | | Something her |
|0, 2, 3, 4 | | Something her |
|12, 2, 3, 4 | | Something her |
|133, 2, 3, 4 | | Something her |
它没有识别字段中的2 - 我的查询是否有问题?
由于
答案 0 :(得分:1)
分隔字符是,
,它表示除了第一个元素之外的所有元素都有一个前导空格。
在你的情况下找不到2
,因为那里没有这样的元素,但是' 2'
(2
带有前导空格)
PS:您通常必须使用一对多或多对多的实现,而不是目前的实现。