Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 一个外键可以引用多个表吗?_Sql_Database_Foreign Keys - Fatal编程技术网

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)