Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

Topic: įvedam duomenis, ir gaunam juos [mysql5]

Esmė tame kad man reikia įvedus vardą ir pavardę i mysql (tipo su INSERT), pasiimti tos eilutės id. Aišku galima su dviem užklausom, bet norėčiau su viena, kadangu būtų tiksliau, paprasčiau, bei taupyčiau užklausų skaičių

Re: įvedam duomenis, ir gaunam juos [mysql5]

SELECT LAST_INSERT_ID();

šita užklausa tikrai neapkraus tavo sistemos.

3 (edited by neworld 2007-04-24 13:55:58)

Re: įvedam duomenis, ir gaunam juos [mysql5]

žinau, bet, tarkime yra labai didelis lankomumas, per sekundė užsiregistruoja kokie 10 žmonių ir tarkim vienas reginosi, jo duomenis išsaugojo, tada kito duomenis išsaugomi, tada pirmasis pasiima paskutinį id, kuris yra ne jo), ir antrasis pasiima tą patį, ir prasidės klaidos.

tiesiog norėjau išvengti šios klaidos

Re: įvedam duomenis, ir gaunam juos [mysql5]

Gali būt ir milijonas registracijų, minėta funkcija grąžins tam susijungimui išgeneruotą paskutinį ID, todėl bėdų nebus ;)

Re: įvedam duomenis, ir gaunam juos [mysql5]

Nu pabandysiu, bet jeigu kas nors atitktų duomenims, ir vartotojas praneštu, tada bus galima sutaisyti jo duomenis, ir žieti kito būdo

Re: įvedam duomenis, ir gaunam juos [mysql5]

Na "teoriškai" gali tik tada kai pas tave skirtingi vartotojai naudoja tą patį susijungimą su MySQL duomenų baze, t.y. tavo MySQL jungtis yra kažkokiu tai būdų (tarkim object cache) yra dalinama daugiau negu vienam vartotojui.

O standartiniais atvejais LAST_INSERT_ID() grąžina konkrečiai tik tam susijungimui išgeneruotą paskutinį ID, kitas vartotojas gaus savo susijungimo išgeneruotą ID ir t.t.