Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: właściwości widoku
Forum PHP.pl > Forum > Bazy danych > MySQL
mihmih
witam,

chciałbym zrobić widok w mojej bazie i mam kilka wątpliwości:

1. Czy jeśli po utworzeniu widoku z daną kolumną usunę tą kolumnę z tabeli, to w widoku ta kolumna cały czas zostanie? Czy w takiej sytuacji nie można usunąć takiej kolumny z tabeli jeśli jest użyta w widoku?
2. Czy jeśli widok utworzę z polecenia SELECT * FROM tabela1, a po jakimś czasie dodam nową kolumnę w tabeli tabela1, to pojawi się ona w widoku?
3. W widoku nie chce mieć jednej kolumny z danej tabeli, czy można to jakoś zapisać, używając gwiazdki, to znaczy SELECT * z wyjątkiem....? A nie chce wymieniać pozostałych kolumn ręcznie no bo jeśli kiedyś dojdzie mi jakas nowa kolumna w tabeli to będę miał problem....

Z góry dzięki za pomoc.
Pyton_000
1. Jeśli zapiszesz nazwę kolumny w widoku i usuniesz ją z tabeli to wywali błąd przy odpalaniu widoku
2. Tak, pojawi się.
3. http://stackoverflow.com/a/11060861/3732803 i ogólne cały wątek.
mmmmmmm
AD 2. Nie, nie pojawi się.
Test:
create table test1
(id int not null auto_increment primary key,
imie varchar(20));

insert into test1(imie) values('ala'), ('ola'), ('ula');

create view v_test1 as select * from test1;
alter table test1 add column nazwisko varchar(20);
select * from v_test1;

wynika to z tego, że tworząc view MySQL domyślnie nie zapisuje *, tylko "tłumaczy" to sobie na wszystkie pola.
Możesz to sprawdzić w każdym momencie przez
SHOW CREATE VIEW v_test1;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.