搜索mysql字段的内容

时间:2009-12-02 04:30:51

标签: php mysql

我按照以下方式设置表格

  `id` int(11) NOT NULL AUTO_INCREMENT,
  `eventid` int(11) NOT NULL,
  `invites` text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)

在该表中,我有一些看起来像这样的行

1, 127, '32215, 55648, 89887, 55555, 66666, 33333'
2, 168, '44444, 33333, 121212, 0540541'

如何搜索invites字段的大小以查找特定数字的匹配项,例如,如果我想搜索33333,它将返回两行,但如果我搜索{ {1}}它只返回第二个?

2 个答案:

答案 0 :(得分:3)

我相信您可以使用find_in_set(),例如:

select * from tablename where find_in_set('44444', invites);

这不是很好的数据库设计。

答案 1 :(得分:0)

作为旁注,请允许我注意您的数据库模式 - 在纯文本字段中存储一组值 - 是不合适的。如果你想查询这样的一对多关系,你应该有另一个表定义单个事件和单个邀请之间的关系,如下所示:

eventid invitationid
1 15
1 16
1 17
2 18
3 19
3 20

然后,您将能够进行实际上具有高效性的标准SQL查询。