Tema: Re: MYSQL uzklausa
Autorius: Jornada Del Muerto
Data: 2009-04-29 15:44:47
As ir dabar ziuriu kad nuskaiciau atbulai :) matyt poxmielas po vakar pool 
suveike :)

Toje  lenteleje is kurios trinami irasai, lentele turi tureti kazkoki ID 
t.y. unikalu identifikatoriu, kaip ir 'c585d46c5b9b308f07c58a65176e5298' yra 
hash tipo identifikatorius identifikuojantis konkretu "to" lauko subjekta , 
tai nemanau kad kazka dakurt reikes duomenu bazeje tik paziurejus duomenu 
bazeje esama lentele susirasti identifikatoriaus lauka, pvz:

DELETE FROM
    `sp_inbox`
WHERE
    `to` = 'c585d46c5b9b308f07c58a65176e5298' AND
    ``Tas_Kazkoks_Identifikatorius`>'paskutinio reikalingo iraso 
identifikatoriaus reiksme'

Arba kaip kolegos sake trint nuo senesnes datos kaip kazkokia, bet cia kazin 
ar gausis palikt visada po 300 irasu, bent jau subselecto del tokio 
menkniekio nedeciau as cia :)

IMO: Subselects is evil! - Vieno SQL guru zodziais 99% uzklausu eina 
parasyti be subselecto geriau pagalvojus :)


> man netinka kazkokios naujos lenteles idejimas nes yra jau fiksuota 
> struktura.
> reikia kad paliktu paskutinius 300 irasu ir trintu senesnius irasus. 
> atejus naujom zinutem vel patikrina senas ir nutrina kas daugiau nei 300.
>
> "Jornada Del Muerto" <ask@me.email> wrote in message 
> news:gt9dr5$6hd$1@trimpas.omnitel.net...
>> Tiesa pagalvojau, mano duota uzklausa tinka pratrint absoliuciai viska su 
>> tokiu 'to' lauku, o tu informacija tikriausia imi pagal: "ORDER BY 
>> `datetime` DESC LIMIT 300,1000" selecta ir jei nori trint viska tame tik 
>> lape tai netiks.
>>
>> Tada teks rasti tos lenteles iraso kazkoki unikalu identifikatoriu  kaip 
>> pvz ID ar pan; zodziu kazka kas unikaliai identifikuoja konkretu trinama 
>> irasa ir daryti:
>>
>> DELETE FROM
>>    `sp_inbox`
>>
>> WHERE
>>    `to` = 'c585d46c5b9b308f07c58a65176e5298' AND
>>    ``Tas_Kazkoks_Identifikatorius`='pirmojo lape nario identifikatoriaus 
>> reiksme'
>>
>> ORDER BY
>>    `datetime` DESC
>>
>> LIMIT 1000
>>
>>
>> Nes pagal ideja LIMIT 300, 1000 grazina 1000 irasu pradedant nuo 300 
>> iraso, o ne 300 irasu.
>