-1

我已经在 HeidiSQL IDE 中为 mysql trough IDE´s helper 创建了这个触发器,它工作得很好。如果我复制 IDE 生成的创建代码并尝试在 phpmyadmin 上运行它,我会收到一个 SQL 语法错误,我无法弄清楚如何修复它。谁能帮我?

CREATE TRIGGER `teste` AFTER UPDATE ON `ilmug_virtuemart_products` FOR EACH ROW BEGIN
   IF (NEW.origem_sync <> 0) THEN 
      INSERT INTO sincronizar (dataHora,
                               tipoMovimento,
                               entidade,
                               id,
                               version,
                               STATUS) 
                       VALUES (CURRENT_TIMESTAMP(),
                  'update',
                  'virtuemart_products',
                   NEW.virtuemart_product_id,
                   NEW.version,
                  'pendente');
   END IF;
END;
4

2 回答 2

0

你有一个BEGIN声明......但END缺少


由于您已经编辑了您的问题,我对其进行了测试:http
: //sqlfiddle.com/#!2/0ebbf 根据sqlfiddle,没有语法错误...

于 2013-08-09T12:56:23.510 回答
0

使用DELIMITER.

DELIMITER $$

CREATE TRIGGER `teste` AFTER UPDATE ON `ilmug_virtuemart_products` FOR EACH ROW
BEGIN
   IF (NEW.origem_sync <> 0) THEN 
      INSERT INTO sincronizar (dataHora,
                               tipoMovimento,
                               entidade,
                               id,
                               version,
                               STATUS) 
                       VALUES (CURRENT_TIMESTAMP(),
                  'update',
                  'virtuemart_products',
                   NEW.virtuemart_product_id,
                   NEW.version,
                  'pendente');
   END IF;
END$$

DELIMITER ;
于 2013-08-09T13:24:54.293 回答