Temat: zmiana kolejności kolumn
Chciałbym do utworzonej wcześniej tabeli (zawierającej już dane) dodać kolumnę jednak nie na końcu tyko gdzieś w środku np. na 3 pozycji od końca. Czy jest jakiś prosty sposób na wykonanie tego?
PostgreSQL to najbardziej zaawansowany system relacyjnych baz danych Open Source.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
Chciałbym do utworzonej wcześniej tabeli (zawierającej już dane) dodać kolumnę jednak nie na końcu tyko gdzieś w środku np. na 3 pozycji od końca. Czy jest jakiś prosty sposób na wykonanie tego?
Jakiś sensowny konkretny powód na umieszczenie kolumny na konkretnej 'pozycji'
porządek w tabelach jeżeli mam już tabele z danymi np. 20 kolumn gdzie przy tworzeniu tabeli ustawiam sobie kolumny wg schematu pierwsza kolumna id, kolejne pogrupowane w "sensowne" kategorie no i pojawia się konieczność dopisania kolumny która wg sensownego porządku powinna znajdować się na 3 pozycji co przy przeglądaniu tabeli powoduje to że nie trzeba przesuwać od początku do końca tabeli (nie da się wyświetlić szerokości wszystkich 20 kolumn) oczywiście można budować nowe zapytania ale po co dokładnie z takim problem miałem w MySQL i tam to się dało załatwić prostym poleceniem alter coś tam więc myślałem że w postgresql też da się to zrobić ale chyba jest to jakiś większy problem.
A aby cos takiego osiągnąć w postgresie będziesz musiał stworzyć tabele tymczasową.
>\d test
Table "schemat.test"
Column | Type | Modifiers
--------+----------------------+------------------------------------------------
--
i | integer |
p | integer |
c | character varying(2) |
>create table test2 as select i, (null::int) as l, p ,c from test;
Time: 30,358 ms
(rski@[local]:5432) 08:39:01 [rski]
>\d test2
Table "schemat.test2"
Column | Type | Modifiers
--------+----------------------+-----------
i | integer |
l | integer |
p | integer |
c | character varying(2) |
>drop table test;
>alter table test2 rename to test;
Ale takim wykonaniem tracisz wszystkie więzy intergralności. Więc to raczej średnie rozwiązanie.
I pojawia się pytanie czy na pewno potrzebujesz takiego 'pozycjonowania kolumn'? Przeglądnie tabeli, rozumiem że masz na myśli polecenie select. A w poleceniu select możesz wymienić kolejność kolumn więc po co modyfikować strukturę?
OK dzięki
Posty [ 5 ]
Strony 1
Zaloguj się lub zarejestruj by napisać odpowiedź
[ Wygenerowano w 0.007 sekund, wykonano 10 zapytań ]