DELIMITER //
 create  trigger T_Upd_Account
   before update  on account
   for each row BEGIN
 IF new.credit is null THEN
     new.credit  : = old.credit ;
 END IF;
 END;
 //
老是报如下错误,请看一下为啥?
ERROR 1064 (42000): 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 '.cred
it  : = old.credit ; END IF;
 END' at line 7谢谢了

解决方案 »

  1.   

    DELIMITER //
     create  trigger T_Upd_Account
       before update  on account
       for each row BEGIN
     IF new.credit is null THEN
       set new.credit= old.credit ; END IF;
     END;
     //
      

  2.   

    不知道你什么要这样写,单纯从语法上纠正
    DELIMITER //
    create  trigger T_Upd_Account
      before update  on account
      for each rowBEGIN
    IF new.credit is null THEN
         SET new.credit = old.credit ;
    END IF;
    END;
    // 
      

  3.   


    DELIMITER //
    create  trigger T_Upd_Account
      before update  on account
      for each rowBEGIN
    IF new.credit is null THEN
        set new.credit  = old.credit;
    END IF;
    END//
    delimiter ;
      

  4.   

    NEW、OLD都是虚拟的表,你要在UPDATE前执行什么操作?