我在MySQL中有一个事件列表,其中包含活动标题,活动时间,日期等。在每个活动中都有被邀请者(被邀请参加活动的人)。
所以基本上我的表事件表看起来像这样:
通过查看表格,您会注意到我的event_invitees
是一个数组,我设法使用教程here保存数组。因此,从本教程中我可以将数组从表中删除。
我想要的是SELECT
表WHERE
myString在event_invitees
数组
所以以上面的图片为例。我有一个字符串" tnylee"我希望能够选择包含名为tnylee的event_invitees
的每一行。
我该怎么做?这可能吗? 如果问题不够清楚,请发表评论
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
您可以使用like关键字来过滤数据
SELECT * FROM table_name WHERE event_invitees LIKE '%tnylee%'
然后您将收到列值为" tnylee"图案。
您可以在提取数据时检查所选行是否包含准确的值(使用程序)。
答案 1 :(得分:0)
不是将event_invitees存储在一个序列化列中,而是更好的解决方案是将它们保存在dependend表中
这张表将包含:
CREATE TABLE `CREATE TABLE `table_code` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_person` integer NOT NULL,
`id_event` integer NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
无论如何你可以使用' LIKE'运营商: 选择 * 来自事件 event_invitees LIKE'%YourSearch%'