如何解决MySQL触发结果-1064
我需要在sql中创建一个触发器来执行以下操作: wordpress表“选项”在ID 1和ID 2中具有网站的option_value URL。
如果该URL在该特定位置(id 1和id2)被更改,则触发器应运行以设置回old.option_value
CREATE TRIGGER tr_up_otpions_value
BEFORE UPDATE ON option_value FOR EACH ROW
BEGIN
IF (:old.option_value = 'https://example.com') then
:new.option_value := 'https://example.com';
end if;
end;
但是出现以下错误:
#1064 - Error ':old.option_value = 'https://example.com') then
:new.option_value := 'h...' Row 4
解决方法
您需要从新旧值中删除:
符号
还需要添加set关键字。
在那之后,如果您有一个看起来像这样的表:
create table Zr_options (option_value varchar(500))
然后此“更新前触发器”将起作用:
CREATE TRIGGER tr_up_otpions_value
BEFORE UPDATE
ON Zr_options FOR EACH ROW
BEGIN
IF old.option_value = 'https://example.com' then
set new.option_value = 'https://example.com';
end if;
end;
这是一个演示:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。