MySQL – jak zapełnić kolumnę w tabeli kolejnymi numerami

W MySQL kolejne numery przeważnie nadawane są w kolumnach, gdzie wartości są ustalane przez opcję AUTO_INCREMENT. Są to pierwsze kolumny identyfikujące ID danego rekordu.

Czasami jednak są dodatkowe kolumny, które np. ustalają pozycję danego rekordu. Jak wgrywamy dane do tabeli – musimy ręcznie nadawać kolejne numery wierszom.

Istnieje jednak proste zapytanie SQL które jest w stanie wypełnić taką kolumnę kolejnymi liczbami:)

Oto one:


Tutaj kolumną którą wypełniamy jest kolumna o nazwie position.

Możemy też ograniczyć numerowanie dla określonych tylko wierszy.

Przykład. Mamy tabelę „jakas_tabela„:


I chcemy tutaj ponumerować wartości w kolumnie pozycja od 1 do 4 dla niebieskiego i od 1 do 2 dla czerwonego. Jak to zrobić?

Wystarczy wywołać poniższe zapytanie:


Gotowe. Po odp. posortowaniu zapytania widać, że zapytanie działa:


Może dla 6 wierszy ręczna zmiana nie stanowi problemu, ale dla kilkudziesiędziu tysięcy – już tak 🙂

grafika:alphacoders.com