mysql - MySQL 触发器声明中缺少 'colon' 错误

标签 mysql ubuntu triggers mysql-workbench

大家好,首先感谢您的耐心等待和帮助!

我在 MySQL 中创建触发器时卡住了(我在 Ubuntu 16.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'

我在文本中找不到任何错误。我希望你能帮助我。

最佳答案

跳给我的明显语法错误

!= NULL 

应该是

IS NOT NULL

除此之外,用 DELIMITER 包裹你的触发器

关于mysql - MySQL 触发器声明中缺少 'colon' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42679234/

相关文章:

php - 在 php 中使用 Ubuntu 命令

mysql - 这个触发器有什么问题吗?插入更新后

c# - 如何使用 asp.net c# 将 MySQL 表显示为 HTML 表

MySQL查询语法错误,对应于您的MySQL服务器版本的正确语法,同时按名称排序表

pythonrc.py 未在交互模式下加载

python - 如何使用 pip 在 Ubuntu 16.04 系统上安装用于 Pycharm IDE 的 open-cv 库?

postgresql - 有没有办法在给定条件的情况下声明 postgresql 行不可变?

sql - 如何使用带有触发器的子查询条件,如 "NOT IN"?

PHP MySQL 连接失败

mysql - 按两列排序