Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)

[es] :: MySQL :: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)

[ Pregleda: 4001 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivan Vasić

Član broj: 14756
Poruke: 631
*.64.EUnet.yu

Jabber: ivasic@elitesecurity.org


Profil

icon ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)29.09.2004. u 19:07 - pre 237 meseci
Imam tabelu sa primarnim ključem :
id - type (auto increase).
Sve to lepo funkcioniše dok ne obrišem neku vrednost i onda tu ostane "rupa" tj. ako izbacim row sa id=3 imaću 1,2,4,5 ....

Pošto meni je u php skripti neophodan niz bez ovakvih rupa, da li postoji neki način da podesim da id automatski pomeri sve id'e za jedno mesto unazad ili ne ? Mnogo bi mi značilo da može ali nešto sumnjam u to....

Da li postoji neki drugi način za tako nešto ili ću morati da menjam skript ???
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.vdial.verat.net



+3 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)29.09.2004. u 21:51 - pre 237 meseci
Menjaj skriptu, ili daj stvarno dobar razlog zbog kojeg ne smes da imas rupe medju id-evima (u tom slucaju mozda se neko i iscima da detaljnije razmisli o tvom problemu).
Owl
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.com
Via: [es] mailing liste

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 08:13 - pre 237 meseci
Kao sto kaze _owl_ daj razlog zasto ne smes da imas rupe.
Ako ti samo zelis da imas redom brojeve, onda mozes posle vadjenja
podataka iz baze da jednostavno napravis neki brojac $i i da ga
inkrementujes pri svakom zapisu i prikazujes.
Ako vrsis prikaz na vise stranica onda samo inicijalizujes gore
pomenutu promenljivu na odgovarajuci broj (za 20 zapisa po strani i
ako je ovo 3 strana onda je $i = 40).
"Common sense is not so common." - Voltaire
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 10:44 - pre 237 meseci
Hm, ako mislis na situaciju kada izbrises npr. record koji ima id 3, a kasnije dodajes npr. neki record koji ima id 524, on se smjesta na prvo prazno mjesto, odnosno na to ispraznjeno mjesto od recorda sa id 3 ? Pri ispisu ti nakon id 1 i 2, ispisuje i id 524 ? Jesi li na to mislio?
Imas dva rjesenja.
Jedno je da sortiras ispis po id koloni, a drugo je da nakon svake DML (INSERT, DELETE i UPDATE) operacije uradis optimizaciju tabele sa komandom:
Code:
OPTIMIZE TABLE ime_tabele;


Ili sam te pogresno shvatio sta ti treba?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.2.EUnet.yu

Jabber: ivasic@elitesecurity.org


Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 11:25 - pre 237 meseci
Ljudi nema potrebe da se "cimate"

Zanimalo me je samo da li postoji nešto "prosto" što mi ne pada na pamet kako da ovo rešim. Čim vam odmah nije palo na pamet - znači da nije prosto

Ajd, sad kad se bolje razmislim izložiću celu situaciju :

Zadatak : U direktorijum treba postaviti oko malih 100 sličica u JPEG formatu (ne u bazi nego u direktorijumu servera - ne pitajte zašto ). Iz baze se čitaju neki podaci o slikama.
Admin treba da ima mogućnost da dodaje i briše ove sličice pomoću male PHP skripte. Takodje na jednoj strani imam listanje svih tih slika ( 1 per page ) i linkove ka svim ostalim stranama ( + previous i next page ). Imena slika su mi img1.jpg, img2.jpg, img3.jpg itd itd... - znači jednostavan ID u bazi se povezuje sa imenom slike.
Tako da je pozivanje neke strane sa odgovarajućom slikom maximalno jednostavno
Code:
 prikaz.php?id=3 
i eto meni 3. slike. Problem nastane kad neko obriše 3. sliku pa onda ovaj isti kod ne prikaže ništa.

Težim da ovo bude jednostavno jer je klijent "zahtevao" da se održi ovakav prost koncept PHP skripte (što ne znači da ne može da se menja - ukoliko postoji drug prost način).

Hvala na pomoći do sada. Nadam se da sam uspeo da objasnim o čemu se radi. Thnx
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 11:28 - pre 237 meseci
Izvini, ali kako ti generises te linkove? Dinamicki ili ih imas vec svih 100 predefinisanih u statickom obliku?
Ako je ovo prvo u pitanju, onda neces imati problema, jer pri izvlacenju popisa id-ova iz tabele, generises linkove samo na one slike koje nisu obrisane.
Ako je ovo drugo u pitanju (sto je vrlo lose odradjeno onda), onda ces morati rucno da prepravljas sve linkove na slike, koje su obrisane.

Citat:

U direktorijum treba postaviti oko malih 100 sličica u JPEG formatu (ne u bazi nego u direktorijumu servera - ne pitajte zašto ).
Pa i bolje je tako da se slike drze u direktoriju, a ne u bazi. Ne vidim cemu se cudis u vezi tog koncepta? :)
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.smdesign.co.yu

ICQ: 4849714


+68 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 12:16 - pre 237 meseci
Jednostavno prodjes sa nekom php skriptom kroz sve ID-eve i nadjes prvi slobodan i onda ga iskoristis. Vrlo prosto, brzo i efikasno:)
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.15.EUnet.yu

Jabber: ivasic@elitesecurity.org


Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)30.09.2004. u 12:51 - pre 237 meseci
Citat:
Izvini, ali kako ti generises te linkove? Dinamicki ili ih imas vec svih 100 predefinisanih u statickom obliku?
Ako je ovo prvo u pitanju, onda neces imati problema, jer pri izvlacenju popisa id-ova iz tabele, generises linkove samo na one slike koje nisu obrisane.

Da naravno dinamički. Izgleda da će morati ovako kao što ti kažeš.
Ili još jedna ideja : pri brisanju - poslednji record postavim na mesto ovog koji brišem a "stvarno" obrišem taj poslednji ? Jel nije glupo rešenje ?

Citat:

Pa i bolje je tako da se slike drze u direktoriju, a ne u bazi. Ne vidim cemu se cudis u vezi tog koncepta?

Eto vidiš, ispao sam glup u društvu
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.com
Via: [es] mailing liste

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)01.10.2004. u 15:42 - pre 237 meseci
Meni je logicno resenje da kada korisnik odabere sliku broj 3 (koja je
ranije obrisana) da dobije poruku o gresci je rje ta slika obrisana.
Kazes mu lepo "slika je obrisana".
Naravno, pri prikazu liste slika ti ces napisati linkove samo do slika
koje sigurno postoje (recimo pomocu funkcije file_exists()).
"Common sense is not so common." - Voltaire
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.com
Via: [es] mailing liste

Jabber: ivasic@elitesecurity.org


Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)01.10.2004. u 20:23 - pre 237 meseci

Pa da ... tako nešto ću i da uradim. Ipak ću malo da izmenim skriptu i to je to. Hvala svima na pomoći u svakom slučaju.
 
Odgovor na temu

CandyMan

Član broj: 3420
Poruke: 147



+49 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)14.10.2004. u 12:29 - pre 236 meseci
Dakle, hvala gdinu BondS-u na lepom rešenju
http://www.geocities.com/oranails/

Preuzet tekst, za one koji neće da klikću:
---------------------------------------

"Holefinder" query
Problem:

Suppose you have table with uniq sequence number field. And this numbers should be continuous, for example invoice No in Invoices table. How to check continuity?
Solution:

--
-- List of all holes in Invoices table
--
Code:

select b HoleStart, min(e) HoleEnd
from
(
select inv_num b from invoices bb
where not exists (select 'x' from invoices bp
                  where bp.inv_num = bb.inv_num - 1)
),
(
select inv_num e from invoices be
where not exists (select 'x' from invoices bn
                  where bn.inv_num = be.inv_num + 1)
)
where e >= b
group by b
order by 1

-----------------------------------------------------
Kraj preuzetog teksta

Ukoliko nešto nije jasno - objasniću. Provereno radi na Oracle-u, trebalo bi i na MySQL -u.
Pozdrav
Nisam ni znao da znam dok nisam prob'o!
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.smdesign.co.yu.

ICQ: 4849714


+68 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)14.10.2004. u 12:31 - pre 236 meseci
I ovaj upit ce da radi u MySQL?
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net.



+3 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)14.10.2004. u 14:49 - pre 236 meseci
Jedino ako verzije 4.1.x podrzavaju subselect u FROM klauzuli (a mislim da ne podrzavaju).
Owl
 
Odgovor na temu

Shinhan
PHP programmer
Subotica

Član broj: 12327
Poruke: 372
*.com
Via: [es] mailing liste

Jabber: shinhan@elitesecurity.org
ICQ: 400847988


+4 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)14.10.2004. u 18:28 - pre 236 meseci
5 mozda i podrzava.
Sta sve nema u petici ne bi me ni cudilo :-)
"Common sense is not so common." - Voltaire
 
Odgovor na temu

CandyMan

Član broj: 3420
Poruke: 147



+49 Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)19.10.2004. u 14:03 - pre 236 meseci
Citat:
_owl_: Jedino ako verzije 4.1.x podrzavaju subselect u FROM klauzuli (a mislim da ne podrzavaju).

Čak i da ne podržavaju, složićete se da je dobra smernica za pisanje skripte koja bi rešila problem.
Nisam ni znao da znam dok nisam prob'o!
 
Odgovor na temu

Ivan Vasić

Član broj: 14756
Poruke: 631
*.eunet.yu.

Jabber: ivasic@elitesecurity.org


Profil

icon Re: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)19.10.2004. u 15:58 - pre 236 meseci
Tvoj post je potpuno na mestu i hvala sto si uopste pokusao da pomognes
 
Odgovor na temu

[es] :: MySQL :: ID - kao niz sukcesivnih brojeva (ili : auto increase bez preskakanja)

[ Pregleda: 4001 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.