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

"U isto" vreme insert?

[es] :: Baze podataka :: "U isto" vreme insert?

[ Pregleda: 3215 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kusur
Grafički dizajner
Beograd

Član broj: 2485
Poruke: 208
*.7.EUnet.yu



Profil

icon "U isto" vreme insert?22.07.2003. u 04:40 - pre 252 meseci
Pozdrav svima


Da li neko može da mi odgovori na ovo pitanje:

U tabeli (MySql baza) postoji polje tipa "timestamp" i u tu tabelu korisnici upisuju neke podatke.
Da li može da se desi da dva ili više korisnika imaju isti "timestamp" ako u isto vreme posalju te podatke u bazu?

To jest, da li je brisanje redova na osnovu "timestamp-a" pouzdano?

Unapred hvala
Kusur
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.verat.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: "U isto" vreme insert?22.07.2003. u 12:37 - pre 252 meseci
Zavisi od implementacije same baze (tj. u ovom slučaju MySql-a). Sumnjam da neko ovde zna te tehničke detalje (u kom trenutku se dodeljuje vrednost automatskom timestamp-u), tj. detalje implementacije („implementation detail“).

U svakom slučaju, i da ne mogu biti isti, ne valja se pouzdati na tome, i to je suštinska greška u dizajnu baze. Izaberi nešto drugo kao ključ sa kojim ćeš da radiš.

U kvalitetnoj i ozbiljnoj bazi ja bih sigurno očekivao da timestamp može biti isti, ali za MySql to ne mora da znači. :-)

Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: "U isto" vreme insert?22.07.2003. u 15:44 - pre 252 meseci
Tu je bitna verovatnoca, ukoliko mnogo ljudi pristupa bazi, onda moze da se desi da se u isto vreme upisu podaci u bazu. Ako ne sme da bude isto vreme pokusaj da zakljucas bazu za unos uneses, pa onda je otljucas...
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.verat.net



+11 Profil

icon Re: "U isto" vreme insert?22.07.2003. u 15:51 - pre 252 meseci
Timestamp ti nikako ne valja kao kljuc tabele jer se menja sa svakom promenom u slogu. Uvedi Id polje koje ce biti Integer autoincrement i onda ce svaki slog imati jedinstvenu vrednost u tom polju. Tu vrednsot sa sigurnoscu mozes koristiti kao jedinstvenu.
 
Odgovor na temu

Kusur
Grafički dizajner
Beograd

Član broj: 2485
Poruke: 208
*.3.EUnet.yu



Profil

icon Re: "U isto" vreme insert?22.07.2003. u 21:24 - pre 252 meseci
Citat:
byTer:
Tu je bitna verovatnoca, ukoliko mnogo ljudi pristupa bazi, onda moze da se desi da se u isto vreme upisu podaci u bazu. Ako ne sme da bude isto vreme pokusaj da zakljucas bazu za unos uneses, pa onda je otljucas...



Na koji način se vrši zaključavanje i otključavanje i šta če se desiti ako neko pokuša da upiše podatke u trenutku kada je baza zaključana?

U ovom slučaju radi se o naručivanju - to jest jedan korisnik naruči dve-tri knjige i sve njegove narudžbine imaju isti "timestamp". (Nema više ažuriranja). Ako želi ponovo nakon 2-3 minuta da naruči još nešto, nove narudžbine imaju drugi "timestamp" ali je korisnik isti (tj. to je već druga narudžbina).


Pozdrav

Kusur
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: "U isto" vreme insert?23.07.2003. u 03:06 - pre 252 meseci
Ako je pitanje samo u narucivanju zasto ne pustis da imaju vise korisnika sa istim time stampom? Ne menja na stvari. Cak i da koristis timestamp kao polje za sortiranje, soritirace se po jednom kriterijumu ako je to polje isto.

A sto se tice zakljucavanja... u ASPu je application.lock i ako neko pokusa da tada upisuje u bazu, javlja mu gresku u bazi. Stim sto ti moze s to da odradis sa exception pa da kazes da je baza prenabudzena i link da proba opet ponovo. Mada mislim da se to moze desiti 1 u 10000000 pokusaja (valjda je ovo milion)
 
Odgovor na temu

mikis
Mihailo Stefanović
Beograd

Član broj: 1825
Poruke: 767
*.verat.net

Sajt: www.mikis.org


Profil

icon Re: "U isto" vreme insert?23.07.2003. u 13:25 - pre 252 meseci
Ne bih ja u tu svrhu koristio timestamp. Prvo, više korisnika može da ima isti timestamp, a drugo, isti korisnik može imati više timestamp-ova. Bolje uvedi novo polje, npr. order_id pa na osnovu njega vrši brisanje.
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: "U isto" vreme insert?23.07.2003. u 16:46 - pre 252 meseci
A ti to hoces da brises?

Kada vec uneses neki order i onda hoces da ga izbrises u istom sessionu?

Uradi kako ti je rekao mikisi. Samo sto ces uraditi ovako. Kad korisnik naruci sve sto je hteo onda ga sprovedi na stranicu gde su sve njegove porudzbine (kao shopping cart) a zatim odatle po order_id polju mozes bez brige da obrises ono sto ti treba. Sve ostalo moze da bude rizicno i da ti unistava bazu!
 
Odgovor na temu

[es] :: Baze podataka :: "U isto" vreme insert?

[ Pregleda: 3215 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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