在MySQL中,保存以下视图后:
CREATE VIEW MyView AS SELECT * FROM MyTable;
如果我编辑 MyView ,则星号消失,SQL包含所有字段名称。例如:
ALTER VIEW MyView AS SELECT field1, field2 FROM MyTable;
当 MyTable 添加了新字段时,我希望视图输出也显示这些新字段。如何防止使用文字列名替换asterix?
答案 0 :(得分:0)
视图是虚拟表的存储查询。所以更改原始表不会影响虚拟表 所以要更新视图,你需要删除它,然后重新创建它
DROP VIEW MyView
然后
CREATE VIEW MyView AS SELECT * FROM MyTable;
视图定义在创建时“冻结”,因此之后对基础表的更改不会影响视图定义。例如,如果视图在表上定义为SELECT *,则稍后添加到表中的新列不会成为视图的一部分。 the source