【问题标题】:MySQL database with multiple user types具有多种用户类型的 MySQL 数据库
【发布时间】:2015-02-27 18:45:34
【问题描述】:

我正在为诊所设计一个带有一些表的 MySQL 数据库,我需要三种不同的用户类型:管理员、医生和患者。

我所做的是创建一个名为 users 的表,其中的列正是管理员、医生和患者共享的公共字段(当然还有一个名为 id_user 的主键em> 每次添加用户时自动递增)。

然后我为每种用户类型创建了三个关于特定数据的表:adminmedicpatient,其中我有一个名为id_userusers 表中 id_user 的外键。

当我尝试为三个用户类型表建立外键约束时,phpMyAdmin 不允许我将 ON DELETE 设置为“SET NULL”(我认为这是有道理的,因为如果我从 users 表,那么它应该自动将 medicadminpatient 表中的字段设置为 NULL,对吗?)并给我错误“relation has not been added”。

疑问 1:这里发生了什么我不知道的事情?

疑问 2:我是否应该忘记这种关联表的方式,而只需在 users 表中为每个用户类型添加特定字段,尽管有些用户会设置一些字段为NULL?

这是一张说明我的数据库的图片:

【问题讨论】:

    标签: mysql database phpmyadmin


    【解决方案1】:

    您应该使用Cascading Deletes 而不是将字段设置为空,如果您删除一个用户,您希望他们消失,如果您将数据清空,您将只有表格填充了空值。

    另外据我了解,您为每个权限级别创建了 3 个表,如果是这种情况,您可能应该在代码中处理检查权限级别的条件

    【讨论】:

      猜你喜欢
      • 2011-10-17
      • 2013-09-06
      • 1970-01-01
      • 2012-12-04
      • 2014-12-17
      • 2018-02-17
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      相关资源
      最近更新 更多