DROP TRIGGER IF EXISTS exam_trigger; 
create trigger exam_trigger
after insert on exam
FOR EACH ROW
BEGIN 
DECLARE peoplecount int;
                .......
END其中DECLARE peoplecount int这句报错:
#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 'int' at line 5 
这个mysql的版本是5.0.14。但是在mysql5.5.20里执行没有报错。
请大侠看看有什么问题吗?版本不同定义变量有问题吗?mysql定义变量int

解决方案 »

  1.   

    说错了,报错的mysql版本是5.0.41的
      

  2.   

    delimiter $
    create trigger exam_trigger
    after insert on exam
    FOR EACH ROW
    BEGIN 
    DECLARE peoplecount int;
                    .......
    END
    $
    delimiter ;
      

  3.   

    在MYSQL命令行下?
    delimiter $$
    DROP TRIGGER IF EXISTS exam_trigger$$
     create trigger exam_trigger
     after insert on exam
     FOR EACH ROW
     BEGIN 
     DECLARE peoplecount int;
                     .......
     END; $$
     delimiter ;
      

  4.   

    delimiter $需要加上这个,否则MYSQL以为你提交语句了。