Topic: Mysql pagalba

Sveiki, gal būt atsirastu žmogus kuris galėtų padėti vienoje vietoje?
Problema yra tame kad noriu pasidaryti taip jog mysql užklausoje tarkim ("UPDATE Members SET taskai='$kintamasis'");

eilutėje taškai , turiu tarkim 10 taškų ir kiekvieną kartą kaip aš siunčiu žinutę gauti 10 taškų, prie tų 10 taškų prisidėtų dar 10 , eitų 20,30,40... O nestovėtų visada tarp 10. Galima tai būtų padaryti tik per mysql užklausą pačia?

Re: Mysql pagalba

... SET taskai = taskai + 10

Re: Mysql pagalba

Ačiū , bet ir taip susitvarkiau su kintamaisiai pasidariau , glušas esu vienos klaidelės nemačiau kuri man užklausos nevykdė normaliai. Atsiprašau už sutrukdymą :)

Re: Mysql pagalba

Su kintamaisiais reikia turėti omenyje, kad tarp select ir update užklausų yra šioks toks laiko tarpas, jei į tą tarpą paklius taškų nuskaitymas arba įskaitymas - tada gali įrašyti netinkamą reikšmę.

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Mysql pagalba

Sveiki,
jeigu trimta sistema, tada reikia naudoti tranzakcijas https://dev.mysql.com/doc/refman/5.0/en/commit.html
Na, bet net pakankamai didelėse sistemose, kur momentinių vartotojų gali būti apie tūkstantį, tranzakcijos nenaudojamos.

Paimtas iš ten pvz gali būti toks

START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;