有没有办法在mysql的现有视图中添加一列?

时间:2011-09-15 21:50:42

标签: mysql database view

对于我可以这样做的表:

ALTER TABLE table_name  
ADD column_name datatype

但这不适用于现有视图。我想知道是否有办法解决这个问题?

1 个答案:

答案 0 :(得分:6)

使用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。它是基于表数据的计算值。但是,它仍然基于存储在某个数据库中的数据。