【发布时间】:2017-01-20 13:57:59
【问题描述】:
CREATE TRIGGER `update_2`
AFTER UPDATE ON `itm_master`
FOR EACH ROW
BEGIN
IF NEW.transfer_status='YES' THEN
INSERT into activity_tbl (`evnt_date`,`con_type`,`username`,`item_serial`,`item_model`,`item_type`,`to_status`)
VALUES (now(),'Update',NEW.user,NEW.item_serial,NEW.master_item_model,NEW.master_item_type,NEW.item_status);
END IF;
END
每当 item_master 表中的 transfer_status 字段更新时,我想创建一个触发器以将数据插入到 activity_tbl 中。我使用此查询,但收到 Mysql 错误
CREATE TRIGGER `update_2`
AFTER UPDATE ON `itm_master`
FOR EACH ROW
BEGIN
IF NEW.transfer_status='YES' THEN
INSERT into activity_tbl (`evnt_date`,`con_type`,`username`,`item_serial`,`item_model`,`item_type`,`to_status`)
VALUES (now(),'Update',NEW.user,NEW.item_serial,NEW.master_item_model,NEW.master_item_type,NEW.item_status);
MySQL 说:文档
1064 - Erreur de syntaxe près de '' à la ligne 7
【问题讨论】:
-
就我个人而言,我尽量避免使用触发器,当您查看代码时,添加这些数据似乎很神奇。在插入其他数据时插入数据更具可读性。除此之外,我无法阅读该错误消息...
-
我同意那个
-
你的代码是第一个还是第二个?我可以看到第二个会出现语法错误,因为它不完整(没有 END IF,BEGIN 没有 END)。错误是用英语说的吗?