Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql触发器1中的语法错误_Mysql_Triggers - Fatal编程技术网

Mysql触发器1中的语法错误

Mysql触发器1中的语法错误,mysql,triggers,Mysql,Triggers,我的代码中的语法错误在哪里?我找不到。。。 代码: 在设备更新之前创建触发器'devices\u update'` 每行开始 如果是NEW.status OLD.status,则 将值(OLD.ip\u地址,NEW.status,NOW())插入'test`.'devices\u history`('ip`,status`,date`)中; 如果结束; 结束 他说这个错误: SQL(1064):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第4行“”附近要使用的正确语法*

我的代码中的语法错误在哪里?我找不到。。。 代码:

在设备更新之前创建触发器'devices\u update'`
每行开始
如果是NEW.status OLD.status,则
将值(OLD.ip\u地址,NEW.status,NOW())插入'test`.'devices\u history`('ip`,status`,date`)中;
如果结束;
结束
他说这个错误:

SQL(1064):您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第4行“”附近要使用的正确语法*/


缺少开头的分隔符。@AbhikChakraborty如何写它的分隔符。。。我写了,但他没有帮助..例如,在开头添加
分隔符$$
,然后在最后一个
结尾
后添加一个
$
,然后添加一个
分隔符恢复标准状态。@愤世嫉俗谢谢你。。。在创建触发器后,在开始处添加
分隔符/
。缺少开头的分隔符。@AbhikChakraborty我必须如何写入它的分隔符。。。我写了,但他没有帮助..例如,在开头添加
分隔符$$
,然后在最后一个
结尾
后添加一个
$
,然后添加一个
分隔符恢复标准状态。@愤世嫉俗谢谢你。。。在创建触发器后,在开头添加
分隔符/
。。。
 CREATE TRIGGER `devices_update` BEFORE UPDATE ON `devices`
 FOR EACH ROW BEGIN
    IF NEW.status <> OLD.status THEN
        INSERT INTO `test`.`devices_history` (`ip`, `status`, `date`) VALUES (OLD.ip_address, NEW.status, NOW());
    END IF;
END