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

mysql add foreign key constraint referencing a view

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

基于以下内容我可能想知道 table 和视图被认为是不同的格式

在我看来这是不允许的,但我还没有看到任何实际声明它是不允许的。

要将字段定义为 foreign key,引用的父字段必须定义索引。

根据 foreign key constraints 上的文档:

REFERENCES parent_tbl_name (index_col_name,...)

由于 VIEW 是虚拟的 table,它的所有字段也是虚拟的。
virtual 字段不支持定义 index

根据 Restrictions on Views 上的文档:

It is not possible to create an index on a view.

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

例子: