语句
CREATE TRIGGER addamount AFTER INSERT ON erp_store 
   FOR EACH ROW BEGIN
      UPDATE erp_goods SET quantity = quantity + NEW.quantity;
   END
在本地正常(版本5.0.51a-community)
在DH上就不正常了(5.0.67-userstats-log)
报错:#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
问题:
1.触发器存在权限问题吗?
2.版本BUG吗?

解决方案 »

  1.   

    mysql> delimiter //mysql> CREATE TRIGGER addamount AFTER INSERT ON erp_store
        -> FOR EACH ROW BEGIN 
        ->   UPDATE erp_goods SET quantity = quantity + NEW.quantity; 
        -> END;
        -> //
    Query OK, 0 rows affected (0.00 sec)注意 delimiter // 把SQL语句结束符改为 //,否则当遇到;的时候就开始分析执行,这个时候你的SQL语句当然语法不对。
      

  2.   

    应该不是楼上说的原因吧?
    同样的语句,在相同的版本序列上执行,DELIMITER 的问题肯定考虑到了啊,,,,