eska97
22.07.2015, 15:23:31
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.
kartin
22.07.2015, 16:08:12
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.
Skie
22.07.2015, 17:06:37
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.
eska97
22.07.2015, 20:48:13
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"
Pyton_000
22.07.2015, 22:05:03
A w czym CI przeszkadza luka ?
eska97
23.07.2015, 12:31:05
określa to do kogo należy kanał na serwerze TS3.

zabieram się do pisania z wartością -1
viking
23.07.2015, 13: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?
Puszy
23.07.2015, 15:51:07
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ć.
eska97
23.07.2015, 16:38:04
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.
MESSIAH :)
24.07.2015, 18:47:12
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.
viking
25.07.2015, 06:08:14
Id jest wlaśnie taką rejestracją.
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.