mysql - 触发器-mysql

标签 mysql magento triggers

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 - 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 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 ;

关于mysql - 触发器-mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29938455/

相关文章:

sql - 我需要优化我的第一个 T-SQL 更新触发器

events - Knockout.JS:如何在组件内触发事件并使用它

具有 Paypal 标准的Magento?

linux - 为了安全起见,安装 Magento 后哪些文件应该是可写的?

php - 使用多个复选框返回 MySQL 结果

php - 将选项标记为已选择

php - 不能再在 Magento 1.4.2.0 中添加注册字段

sql - MySQL 停止触发器中的事件

mysql - 如果值存在则选择列名

javascript - 在 Javascript 函数中返回 For 循环值