我创建了一个像这样的视图:
create view MyView as
select field1,
field2,
table2.*
from table1 join table2 ....
问题是当我向table2添加新列时,它不会出现在视图中。当我执行show create view MyView
时,我看到在查询中展开了table2的字段,而不是table2.*
保留在那里。
如何在创建视图时强制MySQL不展开*
,但推迟此扩展以进行查询运行?
答案 0 :(得分:0)
这是因为MySQL在视图创建时扩展了所有表(定义了它们的字段),即行为。
您可以在创建后使用SHOW CREATE VIEW view_name
声明进行检查。
因此,您需要重新创建视图。