MySQL外键具有多个(条件)可能值

时间:2013-02-01 19:48:55

标签: mysql foreign-keys

我的想法是在一个表中使用两个条目(一个包含引用的表名,一个包含该表中的键)以引用其他几个表中的一个。

表格的相关部分:

CREATE TABLE people 
  ( 
     peopleid SMALLINT UNSIGNED auto_increment, 
     name     VARCHAR(40) NOT NULL, 
     prevname VARCHAR(40), 
     role     ENUM('Teacher', 'Mentor', 'Administrator'), 
     roleid   SMALLINT UNSIGNED 
  ) 

注意:老师和导师是表格。如果此人是管理员,则RoleID将为null。

我希望RoleID是引用Role字段中引用的表的外键。我该怎么做?

2 个答案:

答案 0 :(得分:1)

最好的办法是为角色和人员分别设置一个表格。这将提供规范化和关系模型。

答案 1 :(得分:0)

SQL不是为此而设计的。如果要链接到单独的表,则需要单独的外键。