有没有办法通过mysql中的视图将数据插入多个表?
答案 0 :(得分:3)
MySQL参考手册说明了可更新视图:
某些视图可以更新。也就是说,您可以在
UPDATE
,DELETE
或INSERT
等语句中使用它们来更新基础表的内容。要使视图可更新,视图中的行与基础表中的行之间必须存在一对一关系。还有一些其他构造使视图不可更新。可以为可更新视图提供
WITH CHECK OPTION
子句,以防止对行进行插入或更新,但select_statement中WHERE
子句为真的行除外。WITH CHECK OPTION
子句在MySQL 5.0.2中实现。
您可以找到整篇文章here。
答案 1 :(得分:1)
参见MySQL参考手册的this piece:
有时候多表视图可以更新, 假设它可以使用MERGE算法进行处理。为了这 要工作,视图必须使用内连接(不是外连接或 联盟)。此外,视图定义中只能有一个表 已更新,因此SET子句必须只列出其中一列的列 视图中的表。甚至不允许使用UNION ALL的视图 虽然它们可能在理论上是可更新的,因为 实现使用临时表来处理它们。
对于多表可更新视图,INSERT可以在插入时工作 成一张桌子。不支持DELETE。
视图不支持INSERT DELAYED。