patryczakowy
30.04.2009, 17:04:50
Witam mam takie pytanie czy jest możliwe że jeżeli mam klucz w tabeli i jest on autoincrement i przy usunięciu jakiegoś wiersza inny wiersz dostanie numer tego usuniętego. Jeśli tak to jak temu zaradzić żeby tak nie było.
Z góry wielkie dzięki za odpowiedź
melkorm
30.04.2009, 17:08:09
Nie dostanie tego klucza, chyba że na sztywno wpiszesz. Jeżeli masz klcuze : 1,2,3,4,5 i usuniesz np. 3 i 5'ty to zostaną : 1,2,4 i jak dodasz nowy klucz będzie on miał id 6.
Mam nadzieję że ywjaśniłem o co chodzi :]
Nie
Dlaczego? Bo to jest klucz i ma on jednoznacznie identyfikować wiersz nawet, gdy został on usunięty. Masz numeryczne identyfikatory dla użytkowników, dałeś komuś jakieś uprawnienia na poziomie poza bazą danych, później z jakiegoś powodu ten użytkownik zniknął i co? Pozwolisz nowemu użytkownikowi korzystać z jego identyfikatora, w ten sposób wiążąc go ze wszystkimi zasobami, do których miał dostęp zupełnie ktoś inny dysponujący wcześniej tym ID? Podobnie z jakimiś artykułami i dowolną inną rzeczą. Bazy danych wymyślili naprawdę mądrzy ludzie, którzy dawno już przeanalizowali ten problem i doszli do wniosku, że rozwiązanie, którego żądasz, po prostu jest bez sensu. Zaufaj im, a źle na tym nie wyjdziesz, podobnie jak miliony innych programistów przed Tobą.
patryczakowy
30.04.2009, 20:04:29
Tak właśnie myślałem ale miałem mały problem i chciałem sie upewnić że to nie tu jest przyczyna Dzięki za szybką odpowiedź
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.