合并算法查看只读

时间:2014-07-25 18:21:09

标签: sql-view mysql-5.6

以下是我的观点:

select 
    `u`.`last_name` AS `last_name`,
    `u`.`first_name` AS `first_name`,
    `u`.`user_eid` AS `user_eid`,
    `um`.`user_id` AS `user_id`,
    `u`.`user_id_req` AS `user_id_req`
from
    (`user` `u`
    left join `user_eid_user_id_map` `um` ON ((`u`.`user_eid` = `um`.`user_eid`)))

没有任何函数或子句会导致它使用临时表,但它以只读方式返回。任何人都可以指出为什么以及我能做些什么来使它能够更新基础表的原因?

我认为原因可能是left join,但这不在MySQL文档中描述的列表中。

1 个答案:

答案 0 :(得分:0)

来自http://dev.mysql.com/doc/refman/5.0/en/create-view.html

某些视图可以更新。也就是说,您可以在UPDATE,DELETE或INSERT等语句中使用它们来更新基础表的内容。要使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。还有一些其他构造使视图不可更新。