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