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.
例子:
当引用的 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.
例子: