Autor | Zpráva | ||
---|---|---|---|
Prochy Profil |
Zdravím,
chci se zeptat, je možné pomocí Triggeru vložit vždycky do tabulky logy, nový řádek s tím, kdy se DELETE provedlo? Teď se mi objevilo na hostingu, že se tam smázly nějaký data, ale nikdo si není vědomej, že by to udělal. Mazat z aplikace je možné pouze z Administračního rozhraní, kam mám přístup jen já + jeden člověk. Funkci DELETE FROM clients je pouze v tom skriptu, který je na admin rozhraní. Takže bych potřeboval zjistit, jestli se nemuže smazat klient ještě jinde. Logování v Admin rozhraní mám. O sql inject by se snad jednat nemělo (doufám). Takže prostě, když se provede DELETE na tabulkou clients, tak aby se TRIGGREM provedl zápis do logs s ID smazaného záznamu a případně čas. Je to možné nějak udělat? Doufám, že tím triggrem by to mohlo jít. Děkuji |
||
Kajman Profil |
#2 · Zasláno: 15. 12. 2014, 22:30:14
Něco takového...
CREATE TRIGGER `clients_tr_ad` AFTER DELETE ON `clients` FOR EACH ROW BEGIN INSERT INTO `logs` (`info_table`, `info_op`, `info_id`, `date`) VALUES ('clients', 'delete', OLD.id, now()); END; A pokud to nebudete dělat v klientu, co má podporu triggerů, tak nezapomeňte změnit delimiter. |
||
Prochy Profil |
#3 · Zasláno: 16. 12. 2014, 16:10:19
Díky moc, funguje super. Ono se to nakonec všechno vysvětlilo, jelikož došlo k popletení dvou jmen, ale i tak ten trigger se bude hodit.
|
||
Časová prodleva: 9 let
|
0