如果我们想要外键的逻辑,像这样

FOREIGN KEY COmments(issue_id)

REFERENCES Bugs(issue_id) OR FeatureRequests(issue_id)

例:

CREATE TABLE Issues (

issue_id int PRIMARY KEY,

status VARCHAR(20)

);

CREATE TABLE Comments (

comment_id int PRIMARY KEY,

issue_type VARCHAR(20), -- "Bugs" or "FeatureRequests"

issue_id BIGINT UNSIGNED NOT NULL,

comment TEXT

);

CREATE TABLE Bugs (

issue_id int PRIMARY KEY,

severity VARCHAR(20),

FOREIGN KEY (issue_id) REFERENCES Issues(issue_id)

);

CREATE TABLE FeatureRequests (

issue_id int PRIMARY KEY,

sponsor VARCHAR(50),

FOREIGN KEY (issue_id) REFERENCES Issues(issue_id)

);

INSERT INTO Issues VALUES(1,'ON'),(2,'ON'),(3,'OFF'),(6,'OFF'),(8,'ON');

INSERT INTO Comments VALUES(1,'Bugs',1,'A'),(2,'Bugs',3,'B'),(3,'Bugs',1,'C'),(4,'Bugs',3,'D'),(5 ,'FeatureRequests',8,'L'),

(6,'FeatureRequests',6,'W'),(7,'FeatureRequests',1,'ZX');

INSERT INTO Bugs VALUES(1,'severity_1'),(3,'severity_for_3');

INSERT INTO FeatureRequests VALUES(2,'sponsor_2_'),(8,'sponsor_for_8'),(1,'sponsor_for_1')

选择:

MariaDB [test]> SELECT * FROM Comments JOIN FeatureRequests ON Comments.issue_i

d = FeatureRequests.issue_id AND Comments.issue_type= 'FeatureRequests';

MariaDB [test]> SELECT * FROM Comments JOIN Bugs ON Comments.issue_id = Bugs.is

sue_id AND Comments.issue_type= 'Bugs';

+------------+------------+----------+---------+----------+----------------+

| comment_id | issue_type | issue_id | comment | issue_id | severity |

+------------+------------+----------+---------+----------+----------------+

| 1 | Bugs | 1 | A | 1 | severity_1 |

| 2 | Bugs | 3 | B | 3 | severity_for_3 |

| 3 | Bugs | 1 | C | 1 | severity_1 |

| 4 | Bugs | 3 | D | 3 | severity_for_3 |

+------------+------------+----------+---------+----------+----------------+

4 rows in set (0.00 sec)

mysql+多列外键_MySQL中的多列外键?相关推荐

  1. mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...

    打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上32313133353236313431303231363533e4b893e5b19e31333431366237的'd ...

  2. mysql自主增长键_mysql中关于自增长主键的获取

    我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的. 但在多线程情况下,就不行了. 下面 ...

  3. 成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列

    成功解决采用ax.bar进行三维绘图绘制柱状图的时候,横坐标只显示三列而不是数据中的四列 目录 解决问题 解决思路 解决方法 解决问题 输入数据为四列五行,如下所示: labelX_lists02= ...

  4. mysql 主外键_mysql中主外键关系

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

  5. mysql 所有外键_mysql中的外键

    mysql中的外键 1.默认的外键存在之后,会对数据进行约束. 1)约束1:如果子表中添加的数据,外键字段对应的数据如果在父表中不存在,那么添加失败. 有数据之后: 修改:可以修改跟外键不相关的任何字 ...

  6. 修改mysql 视图字段类型_MySQL中的数据类型,列选项,视图

    列的数据类型 整型 类型 取值范围 tinyint -128 - 127 smallint -32768 - 32767(几万) mediumint -8388608 - 8388607(几百万) i ...

  7. mysql 隐式主键_MySQL中复合主键性能的缺点

    我们有一个表,该表具有由三个字段组成的复合主键(在MySQL 5.1中是这样). 该表上每秒有近200个插入和200个选择,并且表的大小约为100万行,并且还在不断增加. 我的问题是:"复合 ...

  8. mysql中列的增删_mysql中怎么增删一列

    使用mysql数据库--增 插入一条数据 首先,还是先解释一下如何使用数据库,按照上面的方法就可以连接数据库了.这里要解释两件事情. 1.执行sql语句返回的reCount是什么? 这个recount ...

  9. mysql删除表外键_MySQL删除所有表的外键约束、禁用外键约束

    数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的关联关 ...

最新文章

  1. RISC-V 正在成为芯片世界中的 Linux
  2. 利用HTML5开发Android
  3. R语言ggplot2可视化绘制分组水平条形图并在条形图的各种位置添加数值标签实战
  4. Logon failed, use ctrl+c to cancel basic credential prompt. 错误
  5. jvm 设置 直接内存 大小
  6. thinkphp5如何使用ajax(变化的核心,也就是ajax作用的核心是什么)
  7. 2021-2025年中国再加工医疗器械行业市场供需与战略研究报告
  8. Android怎么禁用底部键,在三分钟内完全禁用并隐藏Android设备底部的虚拟按钮(适用于测试)...
  9. android camera实例
  10. 如何操作才能实现音频合并无缝衔接?只要掌握这个技巧
  11. Python二级(07)——函数和代码复用
  12. Canny算子中的非极大值抑制(Non-Maximum Suppression)分析
  13. C语言制作简谱播放器
  14. Java实习生工作总结(一)
  15. mysqly优化 入门 第一篇
  16. 仙人掌树学习1:仙人掌图 洛谷:[SHOI2008]仙人掌图 II
  17. Python3 中英文列表输出对齐
  18. IP查询和IPv6查询接口
  19. div,span等标签支持focus/blur事件
  20. 电脑不识别u盘的解决方法

热门文章

  1. Angular 自定义 structural 指令的一个例子
  2. 使用代码获得Social Media Channel绑定的service url
  3. 开启SAP CDS view DCL前后的读取性能对比
  4. oModel.create will also send to backend directly
  5. nodejs debugging
  6. SAP IBASE的创建实现逻辑
  7. SAP S/4HANA get custom fields usage的获取逻辑
  8. SM30 - SMOFOBJECT
  9. Interactive Report UI - IFrame
  10. 如何处理SAP Fiori Launchpad错误消息:Could not start the app due to a configuration problem