Mysql - 如何选择行在数组中的列?

时间:2014-09-03 08:36:10

标签: php mysql sql arrays phpmyadmin

我在MySQL中有一个事件列表,其中包含活动标题,活动时间,日期等。在每个活动中都有被邀请者(被邀请参加活动的人)。

所以基本上我的表事件表看起来像这样:

enter image description here

通过查看表格,您会注意到我的event_invitees是一个数组,我设法使用教程here保存数组。因此,从本教程中我可以将数组从表中删除。

我想要的是SELECTWHERE myString在event_invitees数组

中的列

所以以上面的图片为例。我有一个字符串" tnylee"我希望能够选择包含名为tnylee的event_invitees的每一行。

我该怎么做?这可能吗? 如果问题不够清楚,请发表评论

任何帮助将不胜感激。谢谢。

2 个答案:

答案 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%'