Zadejte hledaný výraz...

Jak rozpoznat změnu tabulky ?

toshi
verified
rating uzivatele
(4 hodnocení)
15. 11. 2007 15:04:50
Abych nastínil trošku situaci, mám tabulku která je "ovládána" přes webové rozhraní a pak mám skript, který by měl provést určitou akci pokud se v tabulce provede byť sebemenší změna.
Problém je, že řádky v tabulce nemají žádnou položku changed_at nebo něco na ten způsob, navíc jí není možné jí ani z hlediska struktury ani hodnot(readonly) skriptem měnit.
Moje řešení je vycucnout skriptem celou tabulku, spočítat nad ní hash a porovnat s minulým, nicméně tohle mi nepřijde jako moc elegantní řešení. Nemáte někdo tušení jestli mysql sama o sobě nemá nějaké interní datum pro poslední změnu tabulky dosažitelné přes sql dotaz ?
15. 11. 2007 15:04:50
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27950
miniJOHN
verified
rating uzivatele
(57 hodnocení)
15. 11. 2007 15:40:43
no nebu si tu tabulku prekopirovat a pak porovnavat s tou starou...
15. 11. 2007 15:40:43
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27949
Nejsou přesně k tomuto určené triggery?
15. 11. 2007 16:06:10
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27948
toshi
verified
rating uzivatele
(4 hodnocení)
15. 11. 2007 16:08:31
Napsal miniJOHN;20170
no nebu si tu tabulku prekopirovat a pak porovnavat s tou starou...
to není špatnej nápad, ale přecejenom se musí zapisovat do databáze a to porovnávání a následná kopie tabulky sežere víc procesorového času než hash nad jedním selectem.
15. 11. 2007 16:08:31
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27947
toshi
verified
rating uzivatele
(4 hodnocení)
15. 11. 2007 16:19:40
Napsal Retal;20172
Nejsou přesně k tomuto určené triggery?
Problém je že triggery umí reagovat na nějaký sql dotaz jen jiným sql dotazem (správně ?). A i kdyby se konal nějaký exec(), tak problém je že skript není na databázovém stroji - což by se taky nechalo řešit, ale to už rozhodně není elegantní řešení, které by mělo fungovat za každých okolností.
15. 11. 2007 16:19:40
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27946
Napsal toshi;20174
Problém je že triggery umí reagovat na nějaký sql dotaz jen jiným sql dotazem (správně ?). A i kdyby se konal nějaký exec(), tak problém je že skript není na databázovém stroji - což by se taky nechalo řešit, ale to už rozhodně není elegantní řešení, které by mělo fungovat za každých okolností.
Trigery bezi na databazovem stroji v ramci databaze.
15. 11. 2007 16:24:45
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27945
toshi
verified
rating uzivatele
(4 hodnocení)
15. 11. 2007 16:33:22
tak jsem řešení přecejenom našel http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html
mysql má přímo Update_time, navíc poskytuje i základní checksum dotazem CHECKSUM TABLE ... takže není nutné tahat data potažmo řešit hash ve skriptu (http://dev.mysql.com/doc/refman/5.0/en/checksum-table.html)
konec dobrý, všechno dobré, díky za spolupráci :)
15. 11. 2007 16:33:22
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27944
mallat
verified
rating uzivatele
16. 11. 2007 10:37:12
Napsal toshi;20176
tak jsem řešení přecejenom našel http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html
mysql má přímo Update_time, navíc poskytuje i základní checksum dotazem CHECKSUM TABLE ... takže není nutné tahat data potažmo řešit hash ve skriptu (http://dev.mysql.com/doc/refman/5.0/en/checksum-table.html)
konec dobrý, všechno dobré, díky za spolupráci :)
Pekne, ale pouze pro MyISAM, tak bacha na nabehnuti.
16. 11. 2007 10:37:12
https://webtrh.cz/diskuse/jak-rozpoznat-zmenu-tabulky#reply27943
Pro odpověď se přihlašte.
Přihlásit