PHP, MySQL ochrana paralelne spustenych skriptov

Programovacie jazyky, rady, poradňa...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa audiotrack »

Boccaccio napísal: preco aj unique je dolezity pri AI? hodnotu mi to pri zapise navysi aj bez unique, nie?
preto, lebo môžeš mať iba jeden autoincrement, a ten musí byť definovaný ako kľúč. Primárny nemôže byť, lebo viac fotiek môže mať rovnaké poradie (ak sú v iných albumoch). Z toho istého dôvodu nemôže byť sám o sebe ani unikátny, a teda musí byť v nejakom kompozitnom klúči

reorder presne ako si napísal. Máš id fotiek, a uložíš ich zmenené, takže buď zmažeš všetky s daným albumom (alebo s podmienkou idFotky IN ( ... ) ) z tabuľky a nahodíš ich v takom poradí ako ti prišlo, alebo v cykle update sort = $i where idFotky = $idFotky kde $i v každej iterácii zvýšiš. Prvý spôsob bude robiť čísla s "medzerami", druhý ti dá poradia 1..x
Inak reorder jednou query nespravíš pri žiadnom návrhu
ropman
Medium Professional
Medium Professional
Príspevky: 1250
Registrovaný: 12 apr 2010, 21:07

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa ropman »

Boccaccio napísal:okej, ale tymto stylom nepomozem pouzit DB framework medoo, cize aj tak je to naj riesenie?
este si mozes vytvorit db trigger, ktory ti bude robit increment automaticky pri kazdom novom inserte, potom nemusis nic na strane sql dotazu menit.

a db ,,framework" by mal mat API aj na volania obycajnej query, resp. by sa to tam malo dat nejak dohackovat. ak to jednoducho nejde spravit tak ten db tool je zly a netreba ho pouzivat vobec.

riesenie s auto incrementom je dost zle, lebo auto increment moze byt len 1 a ten chces pouzit na primary key... ci nastavis auto increment na order a potom budes aj tak riesit inkrementovanie id-cka ?

zmena orderu sa robi tak, ze vecsinou to nepotrebujes robit hromadne, ale ked potrebujes vymenit poradie napriklad 2 obrazkov, tak len jednoducho swapnes ich order hodnotu (v transakcii). a to sa samozrejme robi lahsie ked tam nemas unique index.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa audiotrack »

ak je to spájacia tabuľka (album, fotka, prípadne ten sort) tak tam primárny kľúč vôbec nepotrebuje
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa Boccaccio »

AI mam na ID, co teda s tym?

//autoeditácia príspevku (29 Jún 2015, 18:09)
zatial to takto vyzera:
stale nemam riesenie :?

//autoeditácia príspevku (29 Jún 2015, 18:16)
ropman, ty by si to konkretne ako riesil?
Prílohy
db.png
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa harrison314 »

Boccaccio: pre lepsie rady by si mal viac ukazat zo svojej databazovej schemy, nie len jednu tabulku, ktoru sme uz videli.
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa Boccaccio »

Co by si potreboval? Ja ine nemam, riesim to zatial v teoretickej rovine, no zajtra mozem nieco nakodit.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa audiotrack »

Id je co? Id fotky alebo id zaznamu v tej tabulke? Stale si ale myslim ze tam primarny kluc vobec nepotrebujes mat
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa Boccaccio »

audiotrack napísal:Id je co? Id fotky alebo id zaznamu v tej tabulke? Stale si ale myslim ze tam primarny kluc vobec nepotrebujes mat
ID je ID zaznamu a zaroven fotky, nakolko fotky ukladam na disk v tvare <ID>.jpg

s ID potom budem pracovat v administracii, napr. ?remove=15 zmaze z disku 15.jpg a zaznam s ID 15, vykona sa re-order atd.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa audiotrack »

tým pádom ten sort vôbec nemusíš pri vytváraní riešiť, ich poradie ti zaručí autoncrementované ID. Sort bude default '0' a upravíš ho iba pri reordere. A query pre výpis fotiek bude mať order by sort, ID
Riešime tu 2 strany debiliny lebo nevieš na začiatku poriadne popísať svoj systém
Boccaccio
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1097
Registrovaný: 01 mar 2014, 14:00
Bydlisko: Bratislava

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa Boccaccio »

dik audiotrack, neriesime tu debiliny - kazda rozumna odpoved rozsirila vedomosti o databazach.
A sorry, ale zo zaciatku som este neriesil order, vsetko sa vyvyjalo postupne.
Kazdopadne dik!

//autoeditácia príspevku (01 Júl 2015, 18:20)
Chalani, opat sa vraciam k mojej oblubenej teme! :)

Potrebujem teraz zmenit naraz hodnoty SORT v DB.
K dispozicii mam novo zoradeny zoznam ID, napr. 5,2,6,4,3,1,7,8
Cize pri:
ID = 5 bude SORT = 1
ID = 2 bude SORT = 2
ID = 6 bude SORT = 3
...


Na toto uz treba transakciu alebo sa to da vyriesit inac?
Dakujem.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8216
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: PHP, MySQL ochrana paralelne spustenych skriptov

Príspevok od používateľa harrison314 »

Bud http://stackoverflow.com/questions/1323 ... ple-values alebo viac update v trasnsakcii, aj ked toto mi nepride ako kriticka operacia.
Napísať odpoveď