是否可以在表列中存储一个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个必需组匹配的组才能查看论坛。
我应该如何存储groups
和req_groups
列,以便稍后我可以执行SELECT查询来检查用户是否属于与查看论坛所需的组ID匹配的组?
另外,我如何更新这些列以包含新ID或删除旧ID?
目前我只有一个非常低效的方法,它涉及将它们存储为带有分隔符的字符串(如1,2,3,4),然后在PHP中拆分它们并在循环中进行比较检查。
为了更新,我只检查一个值是否存在,并将其添加到字符串中。