create trigger urgentStop
after update 
on phonedetail
for each row
begin
update phonedetail
set status = "紧急停机"
where balance <= 0
end$$
delimiter ;还是这么写呢:create trigger urgentStop
after update 
on phonedetail
for each row
begin
update phonedetail
set status = "紧急停机"
where balance <= 0
end$$
delimiter ;
但是都有错额。报错是:#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 'end' at line 9
请问怎么修改?谢谢大家!

解决方案 »

  1.   

    少个分号吧
    create trigger urgentStop
    after update 
    on phonedetail
    for each row
    begin
        update phonedetail
        set status = "紧急停机"
        where balance <= 0;
    end$$
    delimiter ;
      

  2.   

    这么写也不对:
    create trigger urgentStop
    after update 
    on phonedetail
    for each row
    begin
    update phonedetail
    set status = "紧急停机"
    where balance <= 0;
    end
    报错是:MySQL 返回: 
    #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
     
      

  3.   

    mysql> create trigger urgentStop
        -> after update  
        -> on phonedetail
        -> for each row
        -> begin
        -> update phonedetail
        -> set status = "紧急停机"
        -> where balance <= 0;
        -> end
        -> $
    Query OK, 0 rows affected (0.03 sec)
      

  4.   

    我现在想在一个触发器中写2句话,中间不管用不用冒号都报错啊!如下所示:
    create trigger urgentStop_and_cancelUrgentStop
    after update 
    on phonedetail
    for each row
    begin
    update phonedetail
    set status = "紧急停机"
    where balance <= 0; update phonedetail
    set status = "正常开通"
    where balance > 0;end
    应该怎么写呢?谢谢!
      

  5.   

    补充一下,我实在phphmyadmin上直接执行语句的。
      

  6.   

    补充一下,我是在phpmyadmin上直接执行语句的。
      

  7.   

    mysql> delimiter $
    mysql> create trigger urgentStop
      -> after update   
      -> on phonedetail
      -> for each row
      -> begin
      -> update phonedetail
      -> set status = "紧急停机"
      -> where balance <= 0;
      -> end
      -> $
    Query OK, 0 rows affected (0.03 sec)
      

  8.   

    加入 
    delimiter $$
    ...
    delimiter ;在MYSQL命令行下输入,改变语句结束符
      

  9.   

    root@localhost : test 02:31:47>delimiter //
    root@localhost : test 02:31:53>create trigger urgentStop_and_cancelUrgentStop
        -> after update 
        -> on phonedetail
        -> for each row
        -> begin
        -> update phonedetail set status = "紧急停机" where balance <= 0;
        -> update phonedetail set status = "正常开通" where balance > 0;
        -> end//
    Query OK, 0 rows affected (0.08 sec)root@localhost : test 02:31:53>delimiter ;
    root@localhost : test 02:31:55>
    命令行执行木有问题。
      

  10.   

    PHPADMIN中你需要设置一下 delimiter, 这个可以直接页面上设置。