CREATE TABLE BOOKS_AUD ( EVENT_ID INT(11) NOT NULL auto_increment, EVENT_DATE datetime not null, EVENT_TYPE VARCHAR(10) default null, BOOK_ID INT(11) NOT NULL, OLD_TITLE VARCHAR(255), NEW_TITLE VARCHAR(255), OLD_PUBYEAR INT(4), NEW_PUBYEAR INT(4), OLD_BESTSELLER BOOLEAN, NEW_BESTSELLER BOOLEAN, PRIMARY KEY (`EVENT_ID`) ); CREATE TABLE READERS_AUD ( EVENT_ID INT(11) NOT NULL auto_increment, EVENT_DATE datetime not null, EVENT_TYPE VARCHAR(10) default null, READER_ID INT(11) NOT NULL, OLD_FIRSTNAME VARCHAR(255), NEW_FIRSTNAME VARCHAR(255), OLD_LASTNAME VARCHAR(255), NEW_LASTNAME VARCHAR(255), OLD_PESELID VARCHAR(11), NEW_PESELID VARCHAR(11), OLD_VIP_LEVEL VARCHAR(20), NEW_VIP_LEVEL VARCHAR(20), PRIMARY KEY (`EVENT_ID`) ); DELIMITER $$ create trigger BOOKS_INSERT AFTER insert on BOOKS for each row begin insert into BOOKS_AUD (EVENT_DATE, EVENT_TYPE, BOOK_ID, NEW_TITLE, NEW_PUBYEAR, NEW_BESTSELLER) values (curtime(), "INSERT", NEW.BOOK_ID, NEW.TITLE, NEW.PUBYEAR, NEW.BESTSELLER); end$$ create trigger BOOKS_DELETE AFTER delete on BOOKS for each row begin insert into BOOKS_AUD (EVENT_DATE, EVENT_TYPE, BOOK_ID) values (curtime(), "DELETE", OLD.BOOK_ID); end$$ create trigger BOOKS_UPDATE AFTER update on BOOKS for each row begin insert into BOOKS_AUD (EVENT_DATE, EVENT_TYPE, BOOK_ID, NEW_TITLE, NEW_PUBYEAR, NEW_BESTSELLER, OLD_TITLE, OLD_PUBYEAR, OLD_BESTSELLER) values (curtime(), "UPDATE", OLD.BOOK_ID, NEW.TITLE, NEW.PUBYEAR, NEW.BESTSELLER, OLD.TITLE, OLD.PUBYEAR, OLD.BESTSELLER); end$$ create trigger READERS_INSERT AFTER insert on readers for each row begin insert into READERS_AUD (EVENT_DATE, EVENT_TYPE, READER_ID, NEW_FIRSTNAME, NEW_LASTNAME, NEW_PESELID, NEW_VIP_LEVEL) values (curtime(), "INSERT", NEW.READER_ID, NEW.FIRSTNAME, NEW.LASTNAME, NEW.PESELID, NEW.VIP_LEVEL); end$$ create trigger READERS_DELETE AFTER delete on readers for each row begin insert into READERS_AUD (EVENT_DATE, EVENT_TYPE, READER_ID) values (curtime(), "DELETE", OLD.READER_ID); end$$ create trigger READERS_UPDATE AFTER update on readers for each row begin insert into READERS_AUD (EVENT_DATE, EVENT_TYPE, READER_ID, NEW_FIRSTNAME, NEW_LASTNAME, NEW_PESELID, NEW_VIP_LEVEL, OLD_FIRSTNAME, OLD_LASTNAME, OLD_PESELID, OLD_VIP_LEVEL) values (curtime(), "UPDATE", OLD.READER_ID, NEW.FIRSTNAME, NEW.LASTNAME, NEW.PESELID, NEW.VIP_LEVEL, OLD.FIRSTNAME, OLD.LASTNAME, OLD.PESELID, OLD.VIP_LEVEL); end$$ DELIMITER ;