Есть ли способ добавить столбец в существующее представление в MySQL? - PullRequest
7 голосов
/ 16 сентября 2011

Для таблицы я могу сделать так:

ALTER TABLE table_name  
ADD column_name datatype

но это не относится к существующему представлению. Интересно, есть ли способ решить эту проблему?

1 Ответ

6 голосов
/ 16 сентября 2011

Используйте оператор 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. Это вычисленное значение, основанное на данных таблицы. Тем не менее, он все еще основан на данных, хранящихся где-то в БД.

...