1< 1-image>一个涉及多个表主键的外键。涉及多个表主键的一个外键
< 1.1>凡primary1表有两列primary1_id INT(11)和 first_name的VARCHAR,其中(10)primary1_id是主键。
< 1.2>同primary1表,primary2表也具有两列primary2_id INT和姓氏VARCHAR其中primary2_id是主键。
< 1.3> **也有一个** foreign1表有两列foreign_id INT和FULL_NAME的int其中FULL_NAME是外键该参照的多个表的主钥匙 like primary1_id and primary2_id。
2< 2 - 图像>这外键,FULL_NAME只允许插入那些相同在两个primary1_id和primary2_id列中的值。
< 2.1>所以,如果我在primary1输入五个条目表和primary2四个条目。
< 2.2>在这primary1_id的被设置为1至5和primary2_id的被设置为1〜4
< 2.3>但是,为什么这外键FULL_NAME被允许我只能输入1到4哪个在主键的表中都可用?
你的问题不清楚。请解释“有用”的含义。您似乎在FK(外键)的意义上使用“关系”(错误地)来使用“关系”。这些设计的来源是怎么说的?你有什么不明白的? FK表示值必须作为PK/UNIQUE出现在别处。为什么这还不够知道? [请使用文本文本,不要使用图像/链接](https://meta.stackoverflow.com/q/285551/3404097)。 – philipxy
“外键约束仅显示在所有主键约束表中可用的主要ID”不清楚。请写得更清楚。使用更多的单词和句子;明确提及事情;不要试图把它塞进一句话。尝试translate.google.com,最近通过AI更好。 – philipxy
嗨。当你说“为什么”,我*猜*你知道* FK * *说full_name值必须显示为PK,所以我*猜*你的意思是,什么样的业务情况*会有这样的设计?但你实际上并没有清楚地说。 (另见我最后一条评论的其他部分。)我*猜测*你构成了这些列名,因为在日常生活中,每个完整名称都被限制为第一个和最后一个名字都没有意义。但是我的每个队友都必须是运动员和成年人。 PS看看sqlvogel的答案如何以简洁,标准甚至正式的方式呈现一张表格。 – philipxy