我正在开发一个与其他人开始的项目。在db中,为了使用单独的表格,开发人员选择使用逗号分隔的表格将1 to many
关系保存在单个表格上。该表的结构是这样的在逗号分隔的mysql列上搜索
CREATE TABLE pages(
pageid INT(6) AUTO_INCREMENT PRIMARY KEY,
newsid INT(6),
pages VARCHAR(30)
);
我怎样才能从列pages
搜索价值1
。我已经确定了可能出现的一些情况,但无法为其创建解决方案。
如果我在寻找1
以下模式应该是手柄
1, match
11 shouldn't match
11, shouldn't match
,1, match
,1 match
1 match
21 shouldn't match
21, shouldn't match
我一直在思考这个了一段时间,但没有办法解决了上来。我不认为正常%LIKE%
可以在这里
SQL示例使用上sqlfiddle
此外,我需要寻找多个值太像1
,7
和3
这就是为什么数据库应该被归到开始..这个问题出现过于频繁。 – user2864740
尝试[正常化](http://stackoverflow.com/questions/17308669/reverse-group-concat-in-mysql)你的数据库。这将是值得的努力。 –
没有更好的解决方案 – Drew