2012-08-24 27 views
0

創建視圖(簡化的)後替換通配符視圖如下:mySQL的與指定的列的列表

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

MySQL documentationCREATE VIEW

視圖定義是在創建時「凍結」,所以更改 基礎表後不影響視圖定義。對於 示例,如果視圖在表上定義爲SELECT *,則稍後添加到表中的新列 不會成爲視圖的一部分。

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

+0

謝謝肖恩。我曾閱讀過這篇文章,但希望能有解決辦法。我會堅持保存創建腳本。 – user1574149