Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwny błąd auto_increment
Forum PHP.pl > Forum > Bazy danych > MySQL
Cosi*
Witam
Dzisiaj odkryłem, że mój skrypt działa nieprawidłowo. W skrócie: skrypt (galeria zdjęć) umożliwia dodawanie obrazków poprzez formularz uploadu. Dodawane pliki idą na serwer, a ich nazwy do bazy danych.
A teraz problem. Jeżeli użytkownik otworzy okno uploadu plików i wybierze jeden z nich (OK), a następnie otworzy ponownie okno i wybierze inny plik, MySQL głupieje. Wartość indeksu (auto_increment) jest ustawiana z przeskokiem (tj. po zdjęciu nr 15 jest np. zdjęcie nr 21), a kolejne wartości nie idą po kolei.
Problem występuje w MySQL 5.0.32, nie występuje w 5.0.38.
Sprawdziłem bugs.mysql.com i faktycznie, w niektórych wersjach jest problem z "przeskakiwaniem" (skip) wartości auto_increment, ale dlaczego to się zdarza w mojej sytuacji - żadne polecenie MySQL nie jest chyba wykonywane, jeżeli nie wyślę formularza?
Czy zdarzył się Wam podobny problem? Może w innych sytuacjach też "skacze"?
Pozdrawiam,
Cosi
sticker
jeżeli przeskakuje i wymyśla Ci dziwne numerki to też nie powinno Cie specjalnie martwić, ważne żeby to pole było unique i żebyś wiedział podczas dodwania czego dotyczy i gdziej ten klucz obcy umieśc smile.gif
Cosi*
Pole jest unique, ale to wygląda tak, jakby ten klucz schodził w dół, czyli np. 20, 21, 22, 29, 28, 27, więc nie wiem jak by się zachował, gdyby "odliczanie" doszło do jakiejś zajętej wartości.
W zasadzie to raczej mnie to nie martwi, bo w nowszej wersji MySQL'a tego problemu nie ma. Ale faktem jest, że jak baza odwali taki numer, to skrypt się sypie, a to jest trochę nieprofesjonalne smile.gif
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-2025 Invision Power Services, Inc.