【问题标题】:mysql add foreign key constraint referencing a viewmysql添加引用视图的外键约束
【发布时间】:2015-09-29 04:06:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: mysql view foreign-keys constraints


    【解决方案1】:

    对于要定义为foreign key 的字段,所引用的父字段必须具有定义的索引。

    根据foreign key constraints 上的文档:

    REFERENCES parent_tbl_name (index_col_name,...)

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

    根据Restrictions on Views 上的文档:

    无法在视图上创建索引。

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

    示例

    【讨论】:

      猜你喜欢
      • 2014-06-01
      • 1970-01-01
      • 2013-03-10
      • 2021-11-05
      • 1970-01-01
      相关资源
      最近更新 更多