我想用到mysql的触发器功能,在phpmyadmin中执行SQL语句
drop trigger if exists update_chart;create trigger update_chart 
after update on goods 
for each row 
begin 
insert into chart(price,number) values ('122',23); 
end总是报错,意思好像是说那个insert语句有语法错误,但是我检查了,这个语句确实没什么错误,直接运行就能成功。请问这个问题出在哪里?另:请问mysql的触发器能否在某个 字段 update的之后被触发?

解决方案 »

  1.   

    mysql> delimiter //
    mysql> create trigger update_chart
        -> after update on goods
        -> for each row
        -> begin
        -> insert into chart(price,number) values ('122',23);
        -> end
        -> //
    Query OK, 0 rows affected (0.13 sec)mysql>没有问题,你的错误信息是什么,贴出来大家可以分析,否则别人很难猜!
    是不是没加 delimiter // ?
      

  2.   

    另:请问mysql的触发器能否在某个 字段 update的之后被触发?
    触发器只能最小指定到表,没有办法指定到字段,只能在触发器中对所有字段的NEW,OLD值进行判断然后做处理。
      

  3.   

    错误信息是:
     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 7
      

  4.   

    很奇怪,按照一楼内容,在mysql命令行直接执行就没有错误,但是在phpmyadmin下执行就一直报错