CREATE TRIGGER ProductStatusHistory_3
AFTER UPDATE ON catalog_product_entity_int
FOR EACH ROW BEGIN
  IF (OLD.value <> NEW.value)THEN
   INSERT INTO tbl_product_status_history(entity_id,oldvisible,newvisible,datetime) values(NEW.entity_id,OLD.value,NEW.value,NOW());
  END IF;
END;


它不起作用,

错误


  #1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取在第5行的''附近使用的正确语法

最佳答案

您需要定界符

delimiter //

CREATE TRIGGER ProductStatusHistory_3
AFTER UPDATE ON catalog_product_entity_int
FOR EACH ROW BEGIN
  IF (OLD.value <> NEW.value) THEN
   INSERT INTO tbl_product_status_history
   (entity_id,oldvisible,newvisible,datetime)
   values
   (
     NEW.entity_id,OLD.value,NEW.value,NOW()
    );
  END IF;
END;//

delimiter ;

10-08 07:16
查看更多