Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Mysql中创建可更新的视图_Mysql - Fatal编程技术网

无法在Mysql中创建可更新的视图

无法在Mysql中创建可更新的视图,mysql,Mysql,我试试这个: CREATE VIEW ALL_urls AS SELECT * FROM TABLE1_urls UNION ALL SELECT * FROM TABLE2_urls UNION ALL SELECT * FROM TABLE3_urls UNION ALL SELECT * FROM TABLE4_urls 但当我在“信息模式”中搜索时,我得到了以下信息: IS_UPDATABLE NO 知道如何使它“可更新”吗 有些视图是可更新的。也就是说,您可以在这样的语

我试试这个:

CREATE VIEW ALL_urls AS 

SELECT * FROM TABLE1_urls 
UNION ALL 
SELECT * FROM TABLE2_urls
UNION ALL 
SELECT * FROM TABLE3_urls
UNION ALL 
SELECT * FROM TABLE4_urls
但当我在“信息模式”中搜索时,我得到了以下信息:

IS_UPDATABLE
NO
知道如何使它“可更新”吗

有些视图是可更新的。也就是说,您可以在这样的语句中使用它们 作为更新、删除或插入来更新基础文件的内容 桌子要使视图可更新,必须有一对一的关系 视图中的行与视图中的行之间的关系 基础表。也有一些其他的构造构成了一个 视图不可更新

更具体地说,如果视图包含以下任何内容,则该视图不可更新:

  • 聚合函数(SUM()、MIN()、MAX()、COUNT()等)
  • 通过在select中使用UNION或UNION ALL子查询来区分组
  • 列出某些联接
  • FROM子句中的不可更新视图
  • WHERE中的子查询
  • 引用FROM子句中的表的子句
  • 仅引用文字值(在本例中,没有要更新的基础表)
  • Uses ALGORITHM=tentable(使用临时表总是使视图不可更新) -对基表任意列的多个引用
多表视图有时可能是可更新的

假设可以使用合并算法处理它。为此 要工作,视图必须使用内部联接(而不是外部联接或外部联接) 工会)。此外,只能创建视图定义中的单个表 已更新,因此SET子句必须仅命名其中一个 视图中的表。甚至不允许使用UNION ALL的视图 虽然理论上它们可能是可更新的,因为 实现使用临时表来处理它们

有些视图是可更新的。也就是说,您可以在这样的语句中使用它们 作为更新、删除或插入来更新基础文件的内容 桌子要使视图可更新,必须有一对一的关系 视图中的行与视图中的行之间的关系 基础表。也有一些其他的构造构成了一个 视图不可更新

更具体地说,如果视图包含以下任何内容,则该视图不可更新:

  • 聚合函数(SUM()、MIN()、MAX()、COUNT()等)
  • 通过在select中使用UNION或UNION ALL子查询来区分组
  • 列出某些联接
  • FROM子句中的不可更新视图
  • WHERE中的子查询
  • 引用FROM子句中的表的子句
  • 仅引用文字值(在本例中,没有要更新的基础表)
  • Uses ALGORITHM=tentable(使用临时表总是使视图不可更新) -对基表任意列的多个引用
多表视图有时可能是可更新的

假设可以使用合并算法处理它。为此 要工作,视图必须使用内部联接(而不是外部联接或外部联接) 工会)。此外,只能创建视图定义中的单个表 已更新,因此SET子句必须仅命名其中一个 视图中的表。甚至不允许使用UNION ALL的视图 虽然理论上它们可能是可更新的,因为 实现使用临时表来处理它们


请检查以下内容,这样就没有办法使其可更新,例如使用联接?我不是mysql专家。在你的情况下,我有一个联盟。为什么不首先将所有URL存储在一个表中@Devart我不能使用上面提到的UNION或UNION,我不能将所有URL存储在一个表中。请检查以下内容-没有办法使其可更新,例如使用联接?我不是mysql专家。在你的情况下,我有一个联盟。为什么不首先将所有URL存储在一个表中@Devart我不能使用UNION或上面提到的UNION链接,我也不能将所有URL存储在一个表中。