我有一个关于在MySQL中搜索的问题。我很长时间都找不到答案。
我使用symfony 3.1,我有下一个情况:
我在sql中有列site_languages
(longtext,(DC2Type:simple_array)),其值为(例如)" 0,1,7"," 11,15,27"等
所以我的问题是:
我如何选择site_languages
行,其中包括一个搜索值?
我尝试使用LIKE,检查了REGEXP,但是例如,如果我需要按值搜索" 1"它也将返回11/51/111等行。我正在考虑保留像" [1],[15]"但我认为存在更容易和正确的解决方案吗?
答案 0 :(得分:0)
您应该考虑规范化您的数据库表,但如果您坚持以这种方式保留它,您可以将其保存为json然后检索所有行并迭代(坏主意)但如果它是短表则可以。
答案 1 :(得分:0)
如果您想通过使用正则表达式来解决此问题,可以使用此正则表达式(^|,)1(,|$)
来匹配前面有逗号并且后跟逗号的1或者1可以在开头之前线的或线的末端。