我的想法是在一个表中使用两个条目(一个包含引用的表名,一个包含该表中的键)以引用其他几个表中的一个。具有多个(条件)可能值的MySQL外键
表的相关部分:
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将为空。
我希望RoleID成为引用任何表在“角色”字段中引用的外键。我怎么做?
不幸的是,在另一个地方,我有22张桌子可以链接,其中一个有66个字段。所以我的选择似乎是: 1)在单独的表中留下并且具有22个外键 2)将它们全部放在同一个表中,并且每个记录具有〜66个空值 –
Bah!这里是整个评论: 似乎在这里被忽视的一个很大的能力。 不幸的是,在另一个地方,我有16个表可以链接,其中一个有66个字段,每个记录有15个保证空值似乎过多。 所以我的选择似乎是: 1)留在单独的表中,并有16个外键 2)将它们全部放在同一个表中,每个记录有大约66个空值 3)在期间不提及它们作为外键表设置,并使用变量在连接中进行匹配,并处理缓慢的处理。 至少这解释了为什么我找不到语法。 –