Sql 一个外键可以引用多个表吗?
我想知道是否可以使用一个外键连接到多个表 我希望运动员可以参加跑步或跳跃项目。为此,他们将获得所参加活动的活动编号(他们只能参加一个活动) 例如:Sql 一个外键可以引用多个表吗?,sql,database,foreign-keys,Sql,Database,Foreign Keys,我想知道是否可以使用一个外键连接到多个表 我希望运动员可以参加跑步或跳跃项目。为此,他们将获得所参加活动的活动编号(他们只能参加一个活动) 例如: CREATE TABLE running (event_num decimal primary key, event_time varchar(20) not null, ); CREATE TABLE jumping (event_num decimal primary key, event_time varchar(20) not null,
CREATE TABLE running (event_num decimal primary key,
event_time varchar(20) not null,
);
CREATE TABLE jumping (event_num decimal primary key,
event_time varchar(20) not null,
);
CREATE TABLE athletes (athlete_num decimal primary key,
event_num decimal not null,
);
insert into running VALUES
(111, "43 seconds");
insert into jumping VALUES
(222, "5 seconds");
insert into athletes VALUES
(101, 111),
(102, 222);
我想通过一个键(event_num)将运动员表链接到跳跃和跑步表
“运动员”中的第一行通过111链接到“跑步”(使用event_num外键)
“运动员”中的第二行通过222链接到“跳跃”(也使用event_num外键,但这次链接的值在“跳跃”表中找到)
“运动员”中的第一行通过111链接到“跑步”(使用event_num外键)
“运动员”中的第二行通过222链接到“跳跃”(也使用event_num外键,但这次链接的值在“跳跃”表中找到)您是如何被卡住的?PS这是一个常见问题。在考虑发帖之前,请先阅读您的课本和/或手册,并在谷歌上搜索任何错误消息或您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括或不包括您的特定字符串/名称和网站:stackoverflow.com&tags;阅读许多答案。反思你的研究。请参见文本上方的投票箭头(&S)。如果你发了一个问题,用一个短语作为标题。这能回答你的问题吗?给出并不意味着什么的“代码”不是一种有用的沟通方式。有很多很容易找到的问题,关于希望一个值出现在一个多表中。但这不是FK约束。它也是DB/SQL子类型/继承的反模式。还有无数容易找到的帖子。另一个反模式是多个FK到多个表,单选按钮FK。也很容易找到。但是你需要清楚地说出你对研究或交流的意思。不,一个外键不能引用多个表;如果定义了两个外键,则可以创建列。“列”不是“外键”。添加到该注释:来自相同列(FK)的多个FK约束可以引用多个目标。但是,根据FK约束的说法,源中的子代码值必须位于所有目标中。
#What I'm trying to achieve
foreign key (event_num) REFERENCES running(event_num) AND REFERENCES jumping(event_num)