Cytat
2.2 Jak przenumerować pole typu "autoincrement"? Mam w tabeli pole
typu autoincrement. Jeżeli usunę jakiś rekord, to ta liczba pózniej nie
będzie wykorzystana - zrobi się "dziura". Czy można jakoś automagicznie
przenumerowac pozostałe elementy albo przynajmniej zrobić tak, by
następny element miał id równe temu brakującemu, a nie większe o 1 od
największego?
Sposób być może jest, ale mija się to z ideš takiego pola. Pole typu
autoincrement z założenia ma mieć wartości unikalne i ma służyć do
*jednoznacznego* identyfikowania rekordów. Pole typu autoincrement może
być wykorzystywane jako klucz obcy w innej tabeli, a po przenumerowaniu
rekordów powišzania pomiędzy rekordami z obu tabel zniknš lub stanš się
nieprawidłowe. Przykład:
Tabela pracownicy (id_wydzialu to klucz obcy z tabeli wydzialy (id_w)):
id_p nazwisko id_wydzialu
1 Kowalski 2
2 Nowak 3
3 Iksiński 3
4 Masztalski 1
Tabela wydzialy
id_w nazwa
1 Produkcja
2 Księgowość
3 Magazyn
4 Marketing
Jeśli usuniemy wydział nr 3 i przenumerujemy rekordy tak, że Marketing
będzie miał numer 3, to okaże się, że Nowak i Iksiński nie pracujš w
Magazynie, tylko w Marketingu, co jest oczywiście błędne.
pełny tekst Druga rzecz to
toPS Lepiej użyj int i sam nadawaj numery