gpt4 book ai didi

mysql - 将多个值分配给 MySQL 中的单个列

转载 作者:可可西里 更新时间:2023-11-01 07:32:55 24 4
gpt4 key购买 nike

我现在正在处理一个项目,其中用户有一个他们可以 checkin 和 checkout 的事件项目,以及他们可以访问并选择作为事件项目的项目列表。管理员控制用户可以访问的项目。为用户存储事件和可访问的项目以及管理员可以允许访问的所有项目的列表的好方法是什么?

现在我有一个包含所有项目的表,以及用户表中包含他们当前事件项目的项目列。

是否可以创建一个名为“accessible_projects”的列并在其中分配多个值?

最佳答案

我不会在 accessible_projects 列中存储多个值。我将创建一个名为 user_accessible_projects 的链接表,其中包含 user_id 和 project_id。因此,如果用户 X 有 5 个可访问项目,则该表将为用户 X 包含 5 行。

这是一个简化的表结构:

===========
user table
===========
user_id

=============
project table
=============
project_id

==============================
user_accessible_projects table
==============================
user_id
project_id

我还建议在 user_accessible_projects 中的 user_id 和 project_id 上使用唯一索引(或主键)以确保数据完整性,例如您不希望此表中有 2 行具有完全相同的 user_id 和 project_id。而且您还希望将 user_accessible_projects 表中的外键返回到用户和项目表。如果 user_accessible_projects 中仍有关联行,外键将确保无法从用户或项目表中删除记录。

如果您不熟悉数据库中的参照完整性,您可以阅读更多相关内容 here .它在保持数据干净整洁方面带来了巨大的好处,这样就不会有坏数据进入数据库。毕竟,防止不良数据的最好方法就是永远不要让它发生。

关于mysql - 将多个值分配给 MySQL 中的单个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com