[MySQL] Jak przenieść kolumnę na początek tabeli w bazie danych MySQL?

Problem

Podczas tworzenia schematu bazy danych zapomniałem o ważnej kolumnie. Chciałbym, aby znajdowała się ona jako pierwsza. Czy jest możliwa taka zamiana bez tworzenia nowej tabeli?

Rozwiązanie

Nie ma najmniejszego problemu. Wystarczy zbudować takie zapytanie:

ALTER TABLE `tabela
MODIFY COLUMN `nazwa_kolumny` smallint(5) UNSIGNED NOT NULL 
FIRST;

Ważne jest dodanie na końcu zapytania polecenia FIRST. Jeśli chcemy umiejscowić konkretną kolumnę w innym miejscu niż na początku, możemy wykonać podobne zapytanie:

ALTER TABLE `tabela
MODIFY COLUMN `nazwa_kolumny` smallint(5) UNSIGNED NOT NULL 
AFTER `inna_kolumna`;

W ten sposób podana kolumna będzie wstawiona za kolumną inna_kolumna.

Komentarze do porady

7 lipca 2010, 11:51 #

Jajcenty:

Jakie znaczenie ma gdzie leży kolumna? Jakieś problemy wydajnościowe? Zwykle kombinuje się z kluczami, indeksami ale z kolejnością kolumn? (wybacz zachwyt - nie znam mysql :)

Dodaj komentarz do porady