0

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

表的相关部分:

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

注:Teacher 和 Mentor 是表格。如果此人是管理员,则 RoleID 将为空。

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

4

2 回答 2

1

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

于 2013-02-01T22:10:27.693 回答
0

SQL 的设计初衷不是为了做到这一点。如果要链接到单独的表,则需要单独的外键。

于 2013-02-01T19:58:52.277 回答