Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySql]Zmian kolejności kolumn w tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
qrcze_pieczone
Witam
Mam np. tabele klienci i mam w tej tabeli w takiej kolejności kolumny
imie
imie_matki
imie_ojca
nazwisko

chciał bym "nazwisko" umieścić po imieniu czyli

imie
nazwisko
imie_matki
imie_ojca

dopóki baza jest w fazie projektowania mogę to usunąć i umieścić daną kolumnę w odpowiednim miejscu
mam świadomość, że kolejność wyświetlania kolumn można ustawić poprzez odpowiednie dopisanie nazw kolumn po SELECT-cie
mnie tylko interesuje czy można jakimś magicznym winksmiley.jpg poleceniem przestawić kolejność wyświetlania kolumn w tabeli
pozdrawiam
Harmider
Nie można tego zrobić jednym zapytaniem niestety:

1. Utwórz tablicę z polami w kolejności jaką sobie wymyśliłeś
2. Wykonaj zapytanie:

INSERT INTO `tablica_z_dobra_kolejnoscia`
SELECT `tutaj`, `zapodaj`, `kolumny`, `w_kolejnosci`, `takiej_jak_w`, `nowej_tablicy` FROM `tablica_z_nie_taka_jak_potrzeba_kolejnoscia`;

3. Usuń albo zmień nazwę starej tablicy, zmień nazwę tablicy z dobrą kolejnością.

ALTER TABLE `nowa` RENAME `stara`;
artega
Cytat
Nie można tego zrobić jednym zapytaniem niestety

@Harmider herezje głosisz, przecież manual wszystko wyjaśnia tutaj.
Poprawne zapytanie by zmienić kolejność kolumn w tabeli może wyglądać tak:
  1. ALTER TABLE tabela MODIFY nazwisko VARCHAR(32) NOT NULL AFTER imie
qrcze_pieczone
"artega" wielkie dzięki
muszę przyznać (ze wstydem), że zanim napisałem tego posta z zapytaniem, przegadałem podana stronę przez ciebie
ale nie wydedukowałem z treści tego opisu że przez dodanie "AFTER imie" można zmieniać kolejność wyświetlania kolumn w tabeli sad.gif nie tracąc danych z tej kolumny,
jest to efekt jaki daje korzystanie z takich wynalazków jak phpMyAdmin, gdzie (prawie)wszystkie modyfikacje atrybutów kolumn robi się za pomocą kliknięcia myszka,
oczywiście nie negują tego bo jest to szybkie i wygodne rozwiązanie ale jak już trzeba wyjść poza PMA to człowiek się gubi sad.gif
pozdrawiam
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.