• 7 odgovora
  • 3.147 pregleda
Kako vratiti autoincrement vrednost 28.12.2005. u 07:41 · pre 253 meseci #1
Imam u tabeli ID autoincrement a posto mi je ona vazna za izracunavanje nekih drugih vrednosti potrebno mi da nemam "rupa" u tom rastucem redosledu. Desilo mi se da sam imao pogresan unos. Kada sam obrisao slogove i ponovo upisao (ispravno) preskocio mi je ID vrednosti koje je imao pri upisu ona prva dva.
Jel mogu da vratim autoincrement za dva mesta unazad tako da mi svaki sledeci unos ide u kontinuitetu?
Re: Kako vratiti autoincrement vrednost 28.12.2005. u 09:29 · pre 253 meseci #3
Ne radi se to tako. ako korsitis autoinkrement onda nemj dalje da sepetljas. Ako ti treba to "slaganje" id-ova onda nemoj da korsitis autoincrement nego upisuj vrednost ID-a svojom funkcijom, prilikom upisa sloga.
Re: Kako vratiti autoincrement vrednost 28.12.2005. u 09:34 · pre 253 meseci #4
I to je tačno, mada treba obezbediti neki locking kako se u slučaju istovremenog pristupa ne bi došlo do neželjenog preplitanja.
Re: Kako vratiti autoincrement vrednost 29.12.2005. u 07:38 · pre 253 meseci #8
Svi smo se slozili da je to tvoje resenje problematicno, a ako bas mora probaj preko pomocne tabele.

Ako je tvoja struktura table (id, polje1, polje2, polje3 ) kreiras tabela2 sa tom strukturom (naravno polje id je auto incement) pa uradis

insert into tabela2 (polje1, polje2, polje3 )
select polje1, polje2, polje3 form tabela
order by id;

i posle tabelu tabela2 preimenujes u tabela, ili vec nesto drugo.
Potpis
Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme