【发布时间】:2011-11-18 06:24:39
【问题描述】:
对于一张桌子,我可以这样做:
ALTER TABLE table_name
ADD column_name datatype
但这不适用于现有视图。不知道有没有办法解决这个问题?
【问题讨论】:
对于一张桌子,我可以这样做:
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
编辑 - 添加
视图只能显示现有表中的数据。您必须将该列添加到表中,然后修改视图以显示它。
这样想:视图只是查看表中现有数据的一种方式。表格是真实数据的持有者。
我能想到的上述模式的唯一例外是,您可以在视图上有一个列,其中填充了计算结果,例如加法或字符串争用。例如,考虑一个包含 EmployeeId、FirstName 和 LastName 列的表...
你可以有一个看起来像这样的视图:
Create View FullNames AS
Select EmployeeId, firstname + ' ' + lastname AS FullName from Employees
在这种情况下,我有点添加了一个表中不存在的列 - FullName。它是基于表格数据的计算值。但是,它仍然基于存储在某处的数据库中的数据。
【讨论】: