Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana kolejności pól w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
rkolida
Witam,
czy istnieje mozliwosc zmiany kolejnosci pol w bazie MySQL ?
Mam prosty guestbook - pierwsze pole to ID wpisu, potem imie, email, ..., a na koncu data. Chcialbym zeby data znajdowala sie zaraz po ID, czyli zeby byla drugim polem w bazie, a nie ostatnim. Czy da sie to ustawic z poziomu phpMyAdmina ? Czy to w ogole jest mozliwe ?
crash
Wystaczy troche pomyśleć... phpMyAdmin pokazuje ładnie jak dodawać pole na określonej pozycji... Wystarczy zajżeć do manuala MySQL i zobaczyć składnie ALTER TABLE i już gotowe:
  1. ALTER TABLE `table` MODIFY `pole` TYP_POLA AFTER `po_jakim_polu`;
rkolida
Cytat(crashu @ 2005-02-20 13:14:12)
Wystaczy troche pomyśleć...

Tez sadzilem, ze wystarczy pomyslec, ale wydaje mi sie ze cos jeszcze trzeba wiedziec, bo nie idzie:

zapytanie SQL:

  1. ALTER TABLE `guestbook` MODIFY `date` TIMESTAMP( 14 ) NULL AFTER `id`
  2. MySQL zwrócił komunikat:
  3.  
  4. #1064 - Something is wrong in your syntax obok 'AFTER `id` ' w linii 1
crash
No znów wystarczy pomyśleć biggrin.gif W Twoim zapytaniu widzę pole date a sam pisałeś, że masz data. Aż się zdziwiłem, że moja rada mogłaby nie działać. Stworzyłem sobie identyczną tabelę jak Twoja i wszystko działa poprawnie.
rkolida
Cytat(crashu @ 2005-02-20 13:42:10)
W Twoim zapytaniu widzę pole date a sam pisałeś, że masz data.

Nie, zle wczesniej napisalem, mam date. Co jeszcze moze byc powodem wystapienia takiego bledu, bo wszystko wydaje sie tu byc poprawnie napisane..
crash
Wygląda poprawnie, ale mam dwie możliwości wystąpienia błędu:
1. Zła nazwa pola: może ID a nie id?
2. Nie pozwala na używania słowa kluczowego SQL jako nazwę pola (tzn. date)
Yarecki
Cytat(crashu @ 2005-02-20 17:23:33)
Wygląda poprawnie, ale mam dwie możliwości wystąpienia błędu:
1. Zła nazwa pola: może ID a nie id?
2. Nie pozwala na używania słowa kluczowego SQL jako nazwę pola (tzn. date)

1. MySQL jest case insensitive.
2. Możliwe.

3. Brak ; na końcu zapytania ? Długo nie używałem phpMyAdmin, ale chyba trzeba było dawać ; na końcu.
crash
Cytat(Yarecki)
3. Brak ; na końcu zapytania ? Długo nie używałem phpMyAdmin, ale chyba trzeba było dawać ; na końcu.
Nie smile.gif
Vertical
";" dodaje się tylko wtedy kiedy pracuje się pod konsolą, z poziomu php automatycznie jest dodawany ";" na końcu
rkolida
Cytat(Vertical @ 2005-02-20 19:57:13)
";" dodaje się tylko wtedy kiedy pracuje się pod konsolą, z poziomu php automatycznie jest dodawany ";" na końcu

Tutaj koleżka w komentarzu na dole pisze o szybszym spsobie niz ta gmatwanina, ktora opisana jest wyzej. Niestety musialem postapic tak jak to opisane w tym rozdziale, bo to co zapodane w komentarzu po prostu u mnie nie dziala, a to jest wlasnie to o czym piszesz Crashu.
Czy to mozliwe ze to wersja MySQL ma tutaj znaczenie ?
Jesli chodzi o nazwe pola, to dodalem pole 'aaa' i tez chcialem nim pomanewrowac, ale niestety, przesuwac sie nie da...
Jakies sugestie ?
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-2024 Invision Power Services, Inc.