Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]AUTO_INCREMENT jako zapytanie.
Forum PHP.pl > Forum > Przedszkole
nobody123
Witam. Mam problem. Mam pewne rekordy i mam kolumnę gdzie jest zawarty właśnie AUTO_INCREMENT
Na początku dobrze sortuje
1 Ania
2 Monika
3 Sandra
a kiedy usunę jeden rekord np. Monikę robi się wtedy
1 Ania
3 Sandra.

Istnieje może jakieś zapytanie na reset, czy odświeżanie tych numerów? Proszę o pomoc.
viking
Temat wałkowany n-razy. Poczytaj trochę o spójności danych. Co jeśli user Monika ma załóżmy powiązanie z kasą na koncie a nagle podstawiasz pod 2 Tomka?
nobody123
A nie mógłbym tu otrzymać odpowiedzi?
trueblue
Ale to co chcesz zrobić nie ma podstaw bytu.
Kolumna tego typu nie służy do wizualizacji numeracji użytkowników. Traktuj jako wartość, której nie pokazujesz na zewnątrz.
SmokAnalog
Pamiętam jak kiedyś te dziury też mnie denerwowały smile.gif Ale trzeba wyłączyć pedantyczne myślenie jak się na nie patrzy. Ta wartość nie ma mieć żadnego znaczenia dla Ciebie, równie dobrze mogłoby być usjrbrk albo inny śmietnik. To jest tylko do jednoznacznego określenia który to rekord i przy usuwaniu rekordu, pozostałe nie powinny się zmieniać. Pokochaj te dziury. smile.gif
kufel16
Cytat(nobody123 @ 21.12.2017, 20:36:56 ) *
A nie mógłbym tu otrzymać odpowiedzi?


W petli w php-ie zrób sobie numerację, o ile w php to wystawiasz
To najprostsze rozwiązanie smile.gif
Tomplus
To coś jak numer PESEL obywatela.
Nie można podłożyć takiego numeru pod innego człowieka. Każdy ma swój unikalny i matematycznie weryfikowalny.

Jeżeli chciałbyś zrobić coś na wzór sortowania, to po usunięciu rekordu musiałbyś odpytać całą tabelę z imionami a następnie w specjalnej kolumnie np. `sort` albo `lp`
przepisać kody:
numer id - byłby jako AutoIncrement, a lp/sort miałby numery ustalone.

wg takiego pseudokodu.

query('DELETE `id`')
foreach(query('SELECT imiona') as key => val) {
$lp++;
query("UPDATE imiona SET lp = ? WHERE id = ?", [$lp, $val['id']])
}

Ale to i tak bezsensu. Liczby porządkowe tworzy się podczas wyświetlenia listy elementów, nie zapisuje się ich w bazie.
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.