5
对于表我可以这样做:有没有办法将一列添加到mysql中的现有视图?
ALTER TABLE table_name
ADD column_name datatype
但这并不适用于现存的视图。我想知道是否有办法解决这个问题?
对于表我可以这样做:有没有办法将一列添加到mysql中的现有视图?
ALTER TABLE table_name
ADD column_name datatype
但这并不适用于现存的视图。我想知道是否有办法解决这个问题?
使用Alter View语句编辑视图。只需在当前视图中使用现有的SQL语句,并将该列添加到最后。
http://dev.mysql.com/doc/refman/5.0/en/alter-view.html
比实际文档的更详细的说明可以在这里找到:
http://www.roseindia.net/mysql/mysql5/views.shtml
编辑 - 加入
视图只能从现有的表的显示数据。您必须将该列添加到表中,然后修改视图以显示它。
想想这样:视图只是查看表中现有数据的一种方法。表格是真实数据的持有者。
上述模式的唯一例外是我可以想到的是,您可以在视图上有填充计算结果(如添加或字符串争用)的列。例如,考虑与雇员,名字和姓氏列的表...
你可以有一个看起来像这样的观点:
Create View FullNames AS
Select EmployeeId, firstname + ' ' + lastname AS FullName from Employees
在这种情况下,我有点添加列中不存在的列 - FullName。它是基于表格数据的计算值。但是,它仍然基于某处存储在数据库中的数据。
我明白他们是如何在现有视图中添加一列的,但他们使用“select”语句,这意味着该列必须来自其他表格。我的意思是,我可以在视图内创建一个全新的列,就像alter table语句对表一样吗? – root
我还在寻找一种方法将一列添加到视图(假设该列已经存在于基础表中)。我不认为这是可能的,但因为一旦你开始基于复杂的连接等进行查看,它并没有什么意义。 –