sortare mysql dupa stergerea unui camp

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

Avatar utilizator
immanuel
PHPRomania Supporter
Mesaje: 26
Membru din: Mie Iul 07, 2004 12:14 pm
Contact:

sortare mysql dupa stergerea unui camp

Mesajde immanuel » Mie Oct 20, 2004 10:01 am

de ceva vreme am observat o ciudatenie in mysql
am un tabel cu mai multe campuri, indexate dupa un ID. in tabel introduc si sterg valorile.
dupa ce am sters o valoare, ramane o pauza intre ID-uri, dar la adaugarea unei valori noi o pune la coada, nu in loocul valorii lipsa. asta este in regula, desi nu inteleg de ce...

problema este ca mai am o coloana, a categoriilor, iar cand dau sortare dupa aceasta, imi sorteaza aiurea, nu in ordinea ID-ului. a trebuit sa sterg coloana ID si sa o recreez ca sa rezolv problema.

cum pot sa fac sa evit asa ceva, adica sa recreez coloana index de fiecare data cand sterg ceva?


exemplu:
sortare dupa Categ
ID Categ Produs
1 0 x
2 0 y
3 0 z

sterg produsul 2 si adaug inca un produs, dar il indexeaza ca 4 nu ca 2, care e liber (de ce?)
dau din nou sortare dupa Categ si obtin:
ID Categ Produs
1 0 x
4 0 h
3 0 z

merci anticipat ;)


totul este greu, nimic imposibil

un_guru
Average Member
Mesaje: 153
Membru din: Dum Iul 25, 2004 5:20 am
Localitate: Miecurea Ciuc
Contact:

Mesajde un_guru » Mie Oct 20, 2004 3:01 pm

auto_increment adauga o unitate la ultima
daca ultimul id e 3 urmatorul va fi 4 chiar daca 2-ul lipseste. Ca sa le reorganizezi, trebuie sa le stergi de fiecare data si sa le scrii din nou specificand id-ul. Poti sa faci un script care sa faca treaba asta automat.

kokosanu
Average Member
Mesaje: 59
Membru din: Dum Mai 16, 2004 1:17 pm
Localitate: Cluj-Napoca
Contact:

Mesajde kokosanu » Mie Oct 20, 2004 7:11 pm

de ce ai vrea sa faci asa ceva? daca ajungi la un moment dat sa faci un redesign la aplicatie si normalizezi baza de date, ajungand la o versiune relationala? toata treaba asta iti da peste cap aplicatia.

oricum, nu iti afecteaza performantele faptul ca ai o gaura in id-uri, iar cu ordonarea fa "order by categ, id"


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 9 vizitatori