![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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
![]() Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ... |
|
|
![]()
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. |
|
|
![]()
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"
|
|
|
![]()
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 ?
|
|
|
![]()
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.
![]() zabieram się do pisania z wartością -1 |
|
|
![]()
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?
-------------------- |
|
|
![]()
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ć.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 5.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 249 Pomógł: 0 Dołączył: 22.12.2011 Ostrzeżenie: (10%) ![]() ![]() |
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.
-------------------- TERA TRYBI.pl
|
|
|
![]()
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ą.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:47 |