我在 PHP 中有一个工作网站,它有一个 MySQL 后端,它有几个用于不同目的的表。该站点基于不同的部分或“环境”,例如错误跟踪器、项目管理等。有一个中央“用户”数据库,其中包含所有用户及其相关详细信息。
在前面提到的每个“环境”中,它们都有自己的一组表,可以在某些字段中指定用户 ID。例如,bugtracker 表有一个名为的列AssignedTo
,其中包含分配了错误的用户的用户 ID。
这些“用户 ID”列的字段类型(如AssignedTo
示例)与中央用户表中的字段相同UserId
,这是一个无符号、零填充的 INT(5) 字段。
现在我有一个来自该站点用户的请求,也允许在某些这些用户 ID 字段中指定用户组。
因此,再次参考AssignedTo
示例,现在应该可以将错误分配给用户组,而不是特定用户。
关于 PHP 脚本和数据库布局的最佳方法是什么?UserId
现在我将所有这些字段设置为与中央用户表相同的类型,即 INT(5)。但是,我UserGroupId
在 UserGroups 表中的字段具有不同的格式,即 INT(3)。
我也可以将此字段设为 INT(5) 字段,但这并不能解决我遇到的第二个问题:如何查看该AssignedTo
值是针对特定用户还是针对用户组。
我正在考虑让 UserGroupId 字段从 99999 开始并向下计数,而 UserId 字段从 00001 开始并向上计数,因此假设如果AssignedTo
以 9 开头,则它是指一个用户组。但这对我来说似乎不是一个干净的解决方案......
有更好的想法吗?谢谢!