将多个ID存储在同一列中?

时间:2015-01-30 15:08:29

标签: php mysql sql pdo sqldatatypes

是否可以在表列中存储一个ID数组,该表从另一个表引用ID,以便我可以执行select查询并确定特定ID是否在该列中?

下面的示例场景。

我有3张这样的表:

Table: tab_groups with Columns: id, name
Table: tab_users with Columns: id, name, groups
Table: tab_forums with Columns: id, title, req_groups

用户可以属于多个组,他们所属的组的ID存储在groups列中。

论坛可以指定多个必填组,其ID存储在req_groups中。用户必须属于至少1个与至少1个必需组匹配的组才能查看论坛。

我应该如何存储groupsreq_groups列,以便稍后我可以执行SELECT查询来检查用户是否属于与查看论坛所需的组ID匹配的组?

另外,我如何更新这些列以包含新ID或删除旧ID?

目前我只有一个非常低效的方法,它涉及将它们存储为带有分隔符的字符串(如1,2,3,4),然后在PHP中拆分它们并在循环中进行比较检查。

为了更新,我只检查一个值是否存在,并将其添加到字符串中。

0 个答案:

没有答案