Forum » Programiranje » MySql ukaz, ki se sporži glede na dogodek
MySql ukaz, ki se sporži glede na dogodek
tadejp81 ::
Pozdravljeni.
Zanima me, če obstaja mogoča kakšna enostavna rešitev za moj problem.
V mysql bazi imam tabelo, v kateri je stolpec time/date. Zanima me, če je možno na kakšen način zaznati ali se vrednost v polju time/date ujema z trenutnim časom. Če se ujema, potem se izvrši nek mysql ukaz, ki piše v drugo tabelo določene vrednosti.
Seveda bi lahko v ta namen napisal nek zunanji program, vendar me zanima če se to da rešiti mogoče s kakimi triggerji že v sami mysql bazi. Uporabljam linux.
Hvala in lep dan,
Tadej
Zanima me, če obstaja mogoča kakšna enostavna rešitev za moj problem.
V mysql bazi imam tabelo, v kateri je stolpec time/date. Zanima me, če je možno na kakšen način zaznati ali se vrednost v polju time/date ujema z trenutnim časom. Če se ujema, potem se izvrši nek mysql ukaz, ki piše v drugo tabelo določene vrednosti.
Seveda bi lahko v ta namen napisal nek zunanji program, vendar me zanima če se to da rešiti mogoče s kakimi triggerji že v sami mysql bazi. Uporabljam linux.
Hvala in lep dan,
Tadej
darkolord ::
Če to misliš tako, da preverjaš, ko se tisti time/date stolpec spremeni ali doda, potem lahko to enostavno narediš s triggerjem.
Če misliš pa s tem preverjati tudi že obstoječe vnose, potem je pa bolj primeren kakšen cron job.
Če misliš pa s tem preverjati tudi že obstoječe vnose, potem je pa bolj primeren kakšen cron job.
tadejp81 ::
Ne, moram preverjati tudi obstoječe vnose. Kaj potem bi bila še najelegantnejša rešitev ta, da napišem php skripto z queryji in jo dam pod cron job vrtet vsako sekundo?
no comment ::
tadejp81 ::
Hvala.
Še eno vprašanje bi imel v povezavi z mysql in trigerji.
Pri trigerju sem uporabil ukaz DO SLEEP(100).
V tabelo bi rad vpisal vrednost 1 in po 100 sekundah bi 1 prepisal z 0.
Uporabil sem naslednji algoritem.
Ugotovim če je nova vpisana vrednost 1, če je izvedem DO SLEEP(100) in nato pišem vrednost 1 na isto mesto.
Vendar v praksi to žal ne delujen ne ze BEFORE in niti AFTER, ker se vpis vrednosti 1 ne izvede dokler se trigger ne izvede do konca. Se pravi v primeru da želim zapisati v tabelo 1 čaka vseh 100 sekund in šele nato izvede zaporedno vpis 1 in takoj zatem 0. Rad pa bi dosegel zaporedeje ročni vpis 1 -> čakaj 100 sekund -> samodejni vpis 0.
Hvala za kakršenkoli nasvet.
Tadej
Še eno vprašanje bi imel v povezavi z mysql in trigerji.
Pri trigerju sem uporabil ukaz DO SLEEP(100).
V tabelo bi rad vpisal vrednost 1 in po 100 sekundah bi 1 prepisal z 0.
Uporabil sem naslednji algoritem.
Ugotovim če je nova vpisana vrednost 1, če je izvedem DO SLEEP(100) in nato pišem vrednost 1 na isto mesto.
Vendar v praksi to žal ne delujen ne ze BEFORE in niti AFTER, ker se vpis vrednosti 1 ne izvede dokler se trigger ne izvede do konca. Se pravi v primeru da želim zapisati v tabelo 1 čaka vseh 100 sekund in šele nato izvede zaporedno vpis 1 in takoj zatem 0. Rad pa bi dosegel zaporedeje ročni vpis 1 -> čakaj 100 sekund -> samodejni vpis 0.
Hvala za kakršenkoli nasvet.
Tadej
MrStein ::
To ni problem, ki bi se lahko rešil s trigger-jem.
Bi skoraj rekel, da gre za napačen dizajn podatkovnega modela.
Lahko poveš še malo podrobnosti, kaj bi to naj počelo? (in zakaj? za kak namen/cilj)
Bi skoraj rekel, da gre za napačen dizajn podatkovnega modela.
Lahko poveš še malo podrobnosti, kaj bi to naj počelo? (in zakaj? za kak namen/cilj)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Zgodovina sprememb…
- spremenil: MrStein ()
tadejp81 ::
Gre se za naprave v hotelskih sobah, ki spremljajo stanje iz neke skupne podatkovne baze. Torej naprave se periodično osvežujejo iz baze. V mojem primeru podatkovne baze ne uporabljam na klasičen način ampak za nadziranje naprav in zato moram vrednosti spreminjati na takšen in drugačen način - tudi s časovnim zamikom in podobno. Sem pa stvar zdaj že rešil malček drugače, tako da se ti vseeno zahvaljujem.
Hvala in lep dan,
Tadej
Hvala in lep dan,
Tadej
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [SQL] primary key inkrementalno dodajanje (strani: 1 2 )Oddelek: Programiranje | 5383 (4573) | ejresnevem |
» | Optimizacija MySQL - query / tabelaOddelek: Programiranje | 3916 (2504) | MrStein |
» | MySQL poizvedba iz dveh tabelOddelek: Programiranje | 1554 (847) | MrStein |
» | UPDATE INTO v sam vnos zapisa (MYSQL)Oddelek: Programiranje | 867 (654) | SynTax64 |
» | [T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?Oddelek: Programiranje | 2895 (2613) | dmok |