简体   繁体   中英

trigger problem in mySql database

I have this code (mySql 5.1.36)

CREATE TRIGGER problem_description AFTER INSERT ON problem_description
FOR EACH ROW BEGIN
INSERT INTO log SET Id=NEW.Id,user_name=NEW.user_name;
END;

and have this error:

#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 3

When do you get this error message? When you create the trigger? You may need to use another delimiter than ; when you create your trigger.

delimiter //
create trigger problem_descriptor after insert on problem_description
    for each row begin
        insert into
            log
        set
            `Id`=NEW.`Id`,
            `user_name`=NEW.`user_name`;
    end;
//
delimiter ;

For some older phpMyadmin and MySQL you cannot use the standard trigger creation. My question:

 http://stackoverflow.com/questions/4289502/trigger-to-track-changes-in-mysql-databse

i had the same issue. you need to remove the delimiter and begin/end statements. your trigger would look somehting like:

 DROP TRIGGER IF EXISTS problem_descripter;
 CREATE TRIGGER problem_descriptor AFTER insert ON problem_description
 FOR EACH ROW
 insert into log (Id, user_name)
 values(NEW.Id, NEW.user_name);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM