Search code examples
mysqltriggersphpmyadminunix-timestamp

creating trigger inserting UNIX_TIMESTAMP() to a log table


Hi im stuck on the syntax of making this trigger to insert values to my log table. Using the sql tab inside phpmyadmin an error appears before executing the sql statement

`#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 8 `

here is my sql statement in creating a trigger

CREATE TRIGGER after_insert_list  
AFTER INSERT ON list FOR EACH ROW  
BEGIN  
    INSERT INTO log (user_id, action, date_log)  
    VALUES (
        NEW.user_id,  
        NEW.action, 
        UNIX_TIMESTAMP()
    );
END 

Solution

  • Create your trigger like follows:

    delimiter |
    CREATE TRIGGER testref 
    BEFORE INSERT ON test1FOR EACH ROW BEGIN
    INSERT INTO test2 SET a2 = NEW.a1;
    DELETE FROM test3 WHERE a3 = NEW.a1;
    UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
    END;
    |
    delimiter ;