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

Promena vrednosti indexa u tabeli

[es] :: MySQL :: Promena vrednosti indexa u tabeli

[ Pregleda: 14278 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

1boki1

Član broj: 330362
Poruke: 22
*.ptt.rs.



+7 Profil

icon Promena vrednosti indexa u tabeli08.11.2016. u 17:05 - pre 89 meseci
Prvo moram naglasiti da sam apsolutni pocetnik kada je u pitanju msql.
Napravio sam jednostavan cms. Kada u cms-u npr. izbrisem 16 red iz tabele u kojoj mi je id primarni kljuc sa AUTO_INCREMENT kako da mi se automatski promene vrednosti id-a tako da u tabeli ne bude nepravilnosti u redosledu id-a. U konkretnom primeru ako izbrisem id 16 u tabeli ce mi redosled biti bez id-a 16 (...12,13,14,15,17,18.......). Ja hocu da mi id 17 uzme vrednos 16,a id 18 vrednost 17 tako da bude pravilan redosled bez "rupe".
Da li npr. u phpmyadminu moze da se podesi da se upodobljavanje vrsi automatski. Ako ne moze onda vas molim za link ka nekom tutorijalu koji bi mi pomogao da resim problem.
Hvala unappred.
Pozzz
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6275

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: Promena vrednosti indexa u tabeli08.11.2016. u 17:34 - pre 89 meseci
Nikako. Ako je autoincrement onda ne pipaš nista.

Ne opterćuj se sa ID i redosledom. sVe dok je ID jednistven toej dobro. a da li ima "rupa" ili ne, nebitno je.

Ako ti je bitno onda dodaj posebno polje koje će ti služiti za redne brojeve a koje neće biti PK.




 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Promena vrednosti indexa u tabeli08.11.2016. u 17:54 - pre 89 meseci
> promene vrednosti id-a

lako ali to ni slucajno ne smes da radis
 
Odgovor na temu

1boki1

Član broj: 330362
Poruke: 22
*.ptt.rs.



+7 Profil

icon Re: Promena vrednosti indexa u tabeli08.11.2016. u 18:04 - pre 89 meseci
Hvala na odgovorima.

Code:


    $index = $_GET['index'];
    $table = $_GET['table'];

    include 'dbconfig.php' ;
    
    $sql = "DELETE FROM $table WHERE id = '".$index."'" ; 

    $count = mysqli_query($conn,"SELECT * FROM $table");
    $sum = mysqli_num_rows($count);
    for($i=$index;$i<=$sum;$i++) {
        $newId = $i - 1;
        $fin = mysqli_query($conn,"UPDATE $table SET id='$newId' WHERE id > '$index'");
    }


Ja sam probao ovako u PHP-u ali nesto ne funkcionise.Sigurno ima greska.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Promena vrednosti indexa u tabeli08.11.2016. u 18:34 - pre 89 meseci
nemoj to da radis, ako ti nije jasno zasto razmisli i ako posle 2 dana
ozbiljnog razmisljanja o tome zasto to ne treba da radis i dalje ne
razumes zasto, vrati se osnovama i kreni da ucis oko baza podataka od
pocetka
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Promena vrednosti indexa u tabeli08.11.2016. u 20:53 - pre 89 meseci
Čemu ti služi taj ID i zašto je bitno da ne budu rupe?
 
Odgovor na temu

nkrgovic
Nikola Krgović
Beograd

Član broj: 3534
Poruke: 2807

ICQ: 49345867
Sajt: https://www.twinstarsyste..


+655 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 09:57 - pre 89 meseci
Postoje JAKO dobri razlozi zasto BAS TREBA da predvidis da ce mozda da budu rupe. Autoincrement treba da se inkrementira i da ti garantuje da ce da raste, to za koliko ce da raste (auto_increment_offset i auto_increment_increment) mogu da se postave na vrednosti vece od 1 da bi garantovale integritet podataka npr. u slozenim replikacionim semama, i ni ukom slucaju ne mozes (i ne smes) da pretpostavis da ce biti tacno 1. Ti MOZES da upucas rucno sta god zelis u to polje, ali onda mozes da razvalis sve i svasta. Koristi automatiku i pusti je da radi svoj posao. :)
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
 
Odgovor na temu

1boki1

Član broj: 330362
Poruke: 22
*.ptt.rs.



+7 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 12:44 - pre 89 meseci
Hvala svima.

Smetaju mi rupe jer imam ispis iz baze u php-u baziran na BETWEEN npr(SELECT * FROM Products
WHERE id BETWEEN 10 AND 20) . ako se stavka obrise onda imam rupu u ispisu.Znam da sam trebao da idem sa Limit umesto between ali sada ne mogu da menjam.
Siguran sam da nista necu upropastiti ako "naslino" upotobljama indexe. Ovo mi treba za fax,nije nista ozbiljno.
Snacicu se nekako da ovo zavrsim....
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 12:50 - pre 89 meseci
los ti je taj uslov
 
Odgovor na temu

1boki1

Član broj: 330362
Poruke: 22
*.ptt.rs.



+7 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 13:30 - pre 89 meseci
Resio sam problem samostalno. Logika i koncept nije dobar,ali funkcionise.
Hvala na savetima.
pozzzzzzzz

[Ovu poruku je menjao 1boki1 dana 09.11.2016. u 14:42 GMT+1]
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 14:03 - pre 89 meseci
pa upucavas sebe u nogu i trazis pomoc, osim toga da ne treba da pucas
sebi u nogu tesko ces da dobijes bolji odgovor ... pucaj izmedju
kostiju, u meko tkivo, zaobidji tetive ... to su sve glupavi odgovori,
jedini pravi odgovor ti je nemoj to da radis .. a sad ako bas oces da se
upucas u nogu, slobodno al tesko da ce ti neko ovde pomoci ..


da ponovim jos jednom - NEMOJ DA MENJAS VREDNOST ZA ID, PK je stvar koja
NE TREBA NIKAD DA SE MENJA osim u izrazito retkim izuzetcima ... kada
umes da razlucis da li je nesto taj izuzetak neces postavljati pitanje
kako to da izvedes, imaces debelo visegodisnje iskustvo iza sebe. Dokle
god imas potrebu da pitas kako - NE TREBA TO DA RADIS!

mozes da postavis pitanje - kako da resim problem, navedes koji ti je
problem, i ljudi ce ti savetovati kako taj problem da resis (bez da
menjas vrednost PK polja) ...

ako nisi u stanju da prihvatis jedan tako jednostavan savet, veruj mi,
nije IT oblast u kojoj zelis da budes
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.136.4.181.host.layer2.co.nz.



+373 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 21:35 - pre 89 meseci
@1boki1 Bogdan ti je dao dobar savet.
U realnim sistemima se najcesce neka druga tabela oslanja na taj PK kroz FK. Tada neces moci da promenis vrednost PKa.

Ako radis to za fax i ne zelis da promenis, neces se dobro provesti na poslu kada ti to postane profesija.

Verujem da ce svako ovde da ti kaze da je u realnosti neverovatno veci pritisak da se stvari odrade sto brze i velike greske skupo kostaju.
Ovo ti je idealna prilika da vidis kako pravi razvoj ide kada usled neke bilo greske ili odluke deo sistema mora da se refaktorise.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Promena vrednosti indexa u tabeli09.11.2016. u 21:43 - pre 89 meseci
ako to radi za fax i profanu pokaze app koji updateuje pk vrednosti na
delete rekorda i profa ga ne istera sa polaganja ispita i taj profa
treba da preispita svoju poziciju
 
Odgovor na temu

bloker
R. Srpska

Član broj: 79958
Poruke: 216
89.111.244.*



+3 Profil

icon Re: Promena vrednosti indexa u tabeli11.11.2016. u 12:18 - pre 89 meseci
Zašto ne dodaš u tabelu polje "Sifra", a ID ostaviš kakav jeste i koristiš ga za povezivanje sa drugim tabelama, a kada obrišeš neki slog u bazi i hoćeš baš da ti sve ide redosledom napravi logiku koja će da pretaba polje "Sifra" po toj tvojoj logici..
A takođe možeš da napraviš logiku koja će da ti izbacuje prvu slobodnu rupu u Siframa i da nju koristi..
 
Odgovor na temu

[es] :: MySQL :: Promena vrednosti indexa u tabeli

[ Pregleda: 14278 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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