我有一个 MySQL 字段,其中引用了另一个表,其中 id 保存为逗号分隔列表,例如:
12,13,14,16
代表另一个表中的值。我知道这是非常糟糕和错误的,但这来自上面,我对此无能为力。现在的问题是我想使用如下查询在该字段中进行搜索:
SELECT ... WHERE field LIKE '%1%'
现在的问题显然是,几乎所有条目都可以通过此示例查询找到,因为最常见的 ID 位于范围 10-20 内。我的想法是搜索 %,1,%,但这不适用于该字段中的第一个和最后一个 id。是否有内部更换之类的东西,或者我该如何以最佳方式解决此问题?
你需要FIND_IN_SET功能:
SELECT ... WHERE FIND_IN_SET('1', field)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)