Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zmiana id po usunięciu wpisu, Po usunięciu kilku wpisów z bazy id nie jest po kolei
klex234
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
pedro84
post
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?
Go to the top of the page
+Quote Post
Volume
post
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
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Najlepiej to w ogóle nie usuwać. Lepiej wygospodarować kolumne status, gdzie np. 0 będzie informowało o usunięciu wpisu.
Go to the top of the page
+Quote Post
greycoffey
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Cytat(wNogachSpisz @ 5.05.2012, 11:33:00 ) *
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).
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Z doświadczenia wiem że lepiej zostawić wpis. Potem są problemy jak chcesz sporządzić statystykę, brak rekordu to informacja utracona.

Cytat(greycoffey @ 6.05.2012, 11:52:09 ) *
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...
Go to the top of the page
+Quote Post
!*!
post
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(greycoffey @ 6.05.2012, 11:52:09 ) *
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.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #8





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


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
Go to the top of the page
+Quote Post
!*!
post
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ę.
Go to the top of the page
+Quote Post
pedro84
post
Post #10





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(!*! @ 6.05.2012, 15:44:04 ) *
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)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 20:26