Topic: nusutato maziausia reiksme

Sveiki,

noriu updatinti stulpeli ku maziausia yra reiksme..

tarkim yra keli stulpeliai, viename reiksme - 1, kitame - 2, tai noreciau suzinoti kaip updatinti ta stulpeli kur 1..

Dekui

Re: nusutato maziausia reiksme

http://dev.mysql.com/doc/refman/5.0/en/ … nction_min

Re: nusutato maziausia reiksme

Bet jeigu bandau:

mysql_query("UPDATE lentele SET stulpelis = '$update' WHERE laikas = MIN(laikas)");

tai nevygdo uzklausos..

Re: nusutato maziausia reiksme

tai gal pažiūrėk į pateiktą pavizdį, galų gale googlink.

Re: nusutato maziausia reiksme

Teisingas sprendimas šiuo atveju yra iš dviejų žingsnių: a) susirandi minimalią reikšmę turinčią eilutę; b) ją UPDEITINI;

Prie visa to geriausia, kad UPDEITINIMUI paimtum ne pačia reiškmę, o kokį nors ID (unikalų) ir pagal ji jau darytum UPDATE (čia, kad apsisaugotum nuo to jeigu pas tave reikšmių stulpelyle reikšmės yra ne unikalios).

Re: nusutato maziausia reiksme

Kai pirma paselectinu, o tada tik updatinu tada viskas iseina, bet kodel negalima iskarto update where kazkas = min()?

Re: nusutato maziausia reiksme

Tokie paprasti klausimai dažniausiai būna dokumentacijoje parašyti ;)

UPDATE sakinyje negalima naudoti SELECT'o (ar atitinkamų funkcijų), kurie/kurios kreipiasi į tą pačią lentelę.

šitą dalyką reikia prisiminti.

Re: nusutato maziausia reiksme

be to mysql'e negalima naudoti agregatiniu funkciju (min, max, avg...) from lauke