Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] luki w ID
eska97
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 5.07.2014

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


Witam. Przechodząc od razu do pytania:
Załóżmy że mamy taką tabelę:



(Oczywiście ID jest AUTO_INCREMENT)

Rekordy 3,6,8 zostały usunięte.

i chodzi mi o to, że gdy chcę dodać kolejny rekord żeby zawsze najpierw sprawdzało czy nie ma tych luk. Jeżeli taką lukę znajdzie to wrzucił tam nowy rekord.

Ten post edytował eska97 22.07.2015, 15:27:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
kartin
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

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


Masz jakąś szczególną potrzebę zachowania ciągłości ID? Zasadniczo takich rzeczy się nie robi, ale jeśli bardzo chcesz to możesz w wyzwalaczu BEFORE INSERT wyszukiwać pierwszy wolny ID i ustawiać go dla nowego wiersza.


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post
Skie
post
Post #3





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Dla nowych danych powinieneś ZAWSZE korzystać z nowego ID. Jeżeli stare dane po skasowaniu stworzyły gdzieś w systemie jakąś niespójność, to tworzenie nowych danych na to miejsce może doprowadzić do poważnych konsekwencji z utrzymaniem systemu. Oprócz hipotetycznych dziur w samym systemie, taki zabieg może wprowadzić w błąd użytkowników systemu.

Ten post edytował Skie 22.07.2015, 17:07:22


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
eska97
post
Post #4





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 5.07.2014

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


właśnie bardzo ważne jest to, aby utrzymać ciągłość, ale chyba po prostu zamiast usuwania wartości, ustawiać będę pole, które w przykładzie nazwałem nazwa na -1, bo i tak to jest wartość liczbowa dodatnia. i będę wyszukiwać zamiast luk wartości "-1"
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


A w czym CI przeszkadza luka ?
Go to the top of the page
+Quote Post
eska97
post
Post #6





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 5.07.2014

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


określa to do kogo należy kanał na serwerze TS3. smile.gif
zabieram się do pisania z wartością -1
Go to the top of the page
+Quote Post
viking
post
Post #7





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

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


Czyli załóżmy kanał 20 należał do Jasia Kowalskiego, kasujesz go, i teraz wypełniasz ponownie że kanał 20 należy do Gosi Janiemogę. Nie widzisz problemu?


--------------------
Go to the top of the page
+Quote Post
Puszy
post
Post #8





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Zamiast używać ID utwórz nową kolumnę i tam przetrzymuj wartości 1-20. Jeżeli się nie mylę to możesz utworzyć nową tablicę zrobić mapowanie i wtedy przypisze się defaultowo najniższa wartość, ale mogę bredzić.
Go to the top of the page
+Quote Post
eska97
post
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 5.07.2014

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


Cytat(viking @ 23.07.2015, 14:07:48 ) *
Czyli załóżmy kanał 20 należał do Jasia Kowalskiego, kasujesz go, i teraz wypełniasz ponownie że kanał 20 należy do Gosi Janiemogę. Nie widzisz problemu?


po prostu miałem inny konspekt pisząc na początku.

proszę o zamknięcie, bo powstaje niepotrzebny spam.
Go to the top of the page
+Quote Post
MESSIAH :)
post
Post #10





Grupa: Zarejestrowani
Postów: 249
Pomógł: 0
Dołączył: 22.12.2011

Ostrzeżenie: (10%)
X----


Dobrym sposobem jest rozwiazac problem tak jak tablice rejestracyjne. Stworz wlasny taki system gdzie np: na podstawie miejsca zamieszkania kazdy uzytkownik bedzie mial wlasna rejestracje tak jak samochody. Po usunieciu konta numer rejestracyjny bedzie w buforze na ok 14 dni po tym czasie numer wroci ponownie do puli.


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #11





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

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


Id jest wlaśnie taką rejestracją.


--------------------
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 Aktualny czas: 19.08.2025 - 18:47