mysql添加引用视图的外键约束

时间:2015-07-10 12:00:28

标签: mysql view foreign-keys constraints

当引用的表实际上是视图时,我可以在MYSQL中添加外键约束吗?

基于以下内容,我可能想知道表格和视图被视为不同的格式https://stackoverflow.com/a/31183407/1342636

对我来说这是不允许的,但我还没有看到任何实际上说它被禁止的内容。

1 个答案:

答案 0 :(得分:19)

对于要定义为foreign key的字段,引用的父字段必须在其上定义索引。

根据foreign key constraints上的文档:

  

REFERENCES parent_tbl_name(index_col_name,...)

由于VIEW是虚拟表,因此其所有字段也都是虚拟的 虚拟字段不支持定义index

根据Restrictions on Views上的文档:

  

无法在视图上创建索引。

因此,您无法使用虚拟表(即视图)作为引用的父表(不支持索引)来定义和映射外键以创建子表。

示例
enter image description here