Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL]AUTO_INCREMENT jako zapytanie.
nobody123
post 21.12.2017, 20:24:41
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.12.2017

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
viking
post 21.12.2017, 20:32:33
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


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?


--------------------
Go to the top of the page
+Quote Post
nobody123
post 21.12.2017, 20:36:56
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.12.2017

Ostrzeżenie: (0%)
-----


A nie mógłbym tu otrzymać odpowiedzi?
Go to the top of the page
+Quote Post
trueblue
post 21.12.2017, 20:42:33
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
SmokAnalog
post 21.12.2017, 20:59:47
Post #5





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
kufel16
post 22.12.2017, 08:44:04
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 3
Dołączył: 25.08.2016

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Tomplus
post 22.12.2017, 11:08:43
Post #7





Grupa: Zarejestrowani
Postów: 1 875
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 13:34