Wpis z mikrobloga

Taka ciekawostka:

Jeżeli w #mysql mamy widok v1, a następnie utworzymy widok v2, zbudowany "na podstawie" widoku v1 za pomocą CREATE VIEW v2 AS SELECT * FROM v1, to dodanie nowej kolumny do widoku v1 nie powoduje dodania tej samej kolumny do widoku v2. MySQL zamienia znak * na listę kolumn przed zapisaniem widoku - co, przynajmniej dla mnie - wcale nie było oczywiste.
#bazydanych
  • 4
@singollo: Tak działa KAŻDY widok - także z tabeli, a nie tylko innego widoku.

The view definition is “frozen” at creation time and is not affected by subsequent changes to the definitions of the underlying tables. For example, if a view is defined as SELECT * on a table, new columns added to the table later do not become part of the view, and columns dropped from the table will result