![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 12.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Robię mini-CMS-a. Ma on już funkcję edytowania wpisów, usuwania i dodawania. Kiedy go testowałem zrobiłem kilka wpisów a potem kilka usunąłem. Zauważyłem, że w bazie id jest nie po kolei czyli: 2,5,6,7,8,10. Jak zrobić żeby po usunięciu wpisu id były po kolei?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
1. Tak ma być.
2. Jakiś sensowny argument za? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 11.10.2004 Skąd: 3c Ostrzeżenie: (0%) ![]() ![]() |
Pomyśl... że bardzo dobrze, że id jest indywidualne - wyobraz sobie taka sytuacje, ze stosujesz id w adresach. Jeśli napisał bys skrypt, w którym po usunieciu rekordu id by sie restrtowaly to automatycznie zmienialy by Ci sie czasem nawet wszystkie adresy i co wtedy? Jeśli komuś wcześniej wysłałeś linka do danego rekordu moze on mieć już inną zawartość.
Ten post edytował Volume 5.05.2012, 10:23:44 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Najlepiej to w ogóle nie usuwać. Lepiej wygospodarować kolumne status, gdzie np. 0 będzie informowało o usunięciu wpisu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
Najlepiej to w ogóle nie usuwać. Lepiej wygospodarować kolumne status, gdzie np. 0 będzie informowało o usunięciu wpisu. Zależy od sytuacji, jak w tabeli będą spamkomentarze, to nie będę ich przechowywał z status=0. Wtedy można pokusić się o "Przenies do kosza" i "Usuń", w tym, że status będzie timestampem przeniesienia do kosza, a codzień bedzie się uruchamiał garbage collector usuwający wpisy starsze niż 30 dni (tak działa np. folder Spam w gmailu). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Z doświadczenia wiem że lepiej zostawić wpis. Potem są problemy jak chcesz sporządzić statystykę, brak rekordu to informacja utracona.
jak w tabeli będą spamkomentarze, to nie będę ich przechowywał z status=0. Tym bardziej powinieneś je pozostawic. Dzieki temu możesz ustalic kto ile i w jakim czasie wyslal komentarzy i na tej postawie zapodać bana... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zależy od sytuacji, jak w tabeli będą spamkomentarze, to nie będę ich przechowywał z status=0. Wtedy można pokusić się o "Przenies do kosza" i "Usuń", w tym, że status będzie timestampem przeniesienia do kosza, a codzień bedzie się uruchamiał garbage collector usuwający wpisy starsze niż 30 dni (tak działa np. folder Spam w gmailu). Oczywiście do "kosza" bo jak to serwis ogólnie dostępny, dane od użytkowników musisz przechowywać ileś tam miesięcy w myśl ustawie o danych osobowych, więc taki "spam" nie zawsze może być usuwany od razu. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Ale zmiana statusu to właśnie "przeniesienie do kosza" na poziomie bazy. Co za różnica jak to będzie wygladac z poziomu interfejsu uzytkownika O_o.
Myślałem że to oczywiste. Jak zwykle do rozmowy przyłączają się ludzie którzy w życiu nie zaprojektowali bazy danych. Ten post edytował wNogachSpisz 6.05.2012, 14:30:58 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli Ty trzymasz dane ze statusem 0 cały czas w tej samej bazie/tabeli, to współczuję.
|
|
|
![]()
Post
#10
|
|
Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli Ty trzymasz dane ze statusem 0 cały czas w tej samej bazie/tabeli, to współczuję. Wszystko jednak zależy od tego, co to za dane (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:26 |