大家好,首先感谢你们的耐心和帮助!
我只是在MySQL中创建触发器时卡住了(我在Ubuntu16.10上使用的是MySQL WorkBench 6.3 )。
代码如下:
CREATE TRIGGER check_device
BEFORE INSERT ON dummyPT_data.devices
FOR EACH ROW
BEGIN
IF (NEW.dtype != "HOST" && NEW.ipaddr != NULL || NEW.netmask != NULL || NEW.dfgateway != NULL)
THEN raise_application_error(-20001,'The device type is uncompatible with data inserted');
END IF;
END;代码编辑器在函数raise_application_error下面加下划线,并表示:Syntax error: missing 'colon'
我找不到正文中的任何错误。我希望你能帮助我。
发布于 2017-03-09 02:50:51
我突然想到一个明显的语法错误
!= NULL 应该是
IS NOT NULL除了这个,用分隔符包装你的触发器
发布于 2017-03-09 02:38:56
可能是分隔符有问题,你改了吗?
看这个
Unable to Run Query in MySQL syntax error unexpected
如果您更改了分隔符,则必须将新的分隔符放在最后
DELIMITER $$
CREATE TRIGGER check_device
BEFORE INSERT ON dummyPT_data.devices
FOR EACH ROW
BEGIN
IF (NEW.dtype != "HOST" && NEW.ipaddr != NULL || NEW.netmask != NULL || NEW.dfgateway != NULL)
THEN raise_application_error(-20001,'The device type is uncompatible with data inserted');
END IF;
END$$
DELIMITER ;https://stackoverflow.com/questions/42679234
复制相似问题