» »

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

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.

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?

videc ::

Pa saj lahko v trigerju tudi preverja obstoječe vnose.

no comment ::

videc je izjavil:

Pa saj lahko v trigerju tudi preverja obstoječe vnose.

Ja, in?! Kaj mu bo pa trigger prožilo vsako sekundo?

tadejp81 ::

Ok. hvala vsem za odgovore.
Lep pozdrav,
Tadej

nightrage ::

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

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)
Motiti se je človeško.
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


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[SQL] primary key inkrementalno dodajanje (strani: 1 2 )

Oddelek: Programiranje
515383 (4573) ejresnevem
»

Optimizacija MySQL - query / tabela

Oddelek: Programiranje
443916 (2504) MrStein
»

MySQL poizvedba iz dveh tabel

Oddelek: Programiranje
101554 (847) MrStein
»

UPDATE INTO v sam vnos zapisa (MYSQL)

Oddelek: Programiranje
5867 (654) SynTax64
»

[T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?

Oddelek: Programiranje
162895 (2613) dmok

Več podobnih tem