【发布时间】:2015-02-27 18:45:34
【问题描述】:
我正在为诊所设计一个带有一些表的 MySQL 数据库,我需要三种不同的用户类型:管理员、医生和患者。
我所做的是创建一个名为 users 的表,其中的列正是管理员、医生和患者共享的公共字段(当然还有一个名为 id_user 的主键em> 每次添加用户时自动递增)。
然后我为每种用户类型创建了三个关于特定数据的表:admin、medic 和 patient,其中我有一个名为id_user 是 users 表中 id_user 的外键。
当我尝试为三个用户类型表建立外键约束时,phpMyAdmin 不允许我将 ON DELETE 设置为“SET NULL”(我认为这是有道理的,因为如果我从 users 表,那么它应该自动将 medic、admin 或 patient 表中的字段设置为 NULL,对吗?)并给我错误“relation has not been added”。
疑问 1:这里发生了什么我不知道的事情?
疑问 2:我是否应该忘记这种关联表的方式,而只需在 users 表中为每个用户类型添加特定字段,尽管有些用户会设置一些字段为NULL?
这是一张说明我的数据库的图片:
【问题讨论】:
标签: mysql database phpmyadmin