mySQL用指定的列列表替换视图中的通配符

时间:2012-08-24 12:19:36

标签: mysql view

创建视图(简化)后如下:

create view testView as
select t1.* from table1 t1
join table2 t2 on t1.id = t2.id
where t1.value = someValue

尝试编辑时,通配符已替换为表的实际列名。

这对我来说很烦人,因为我将新列添加到表中,因为我需要手动将它们添加到视图中,或保存创建脚本,然后在进行表修改后重新执行它。

有没有办法保留通配符进行编辑?在MSSQL中,编辑视图时保留了通配符,我可以简单地执行sp_refreshview [viewname]来更新视图以包含表中的任何新列。

1 个答案:

答案 0 :(得分:1)

来自MySQL documentationCREATE VIEW

  

视图定义在创建时被“冻结”,因此更改为   之后的基础表不会影响视图定义。对于   例如,如果视图在表,新列上定义为SELECT *   稍后添加到表中不会成为视图的一部分。

所以简短的回答是否定的,你不能保留通配符。