gpt4 book ai didi

mysql - 需要更正以下触发器中的语法错误,使用 phpMyAdmin 来执行它

转载 作者:行者123 更新时间:2023-11-29 21:17:04 25 4
gpt4 key购买 nike

这是我编写的代码

delimiter //
CREATE TRIGGER user_address_check BEFORE INSERT ON street_master
FOR EACH ROW
BEGIN
DECLARE @check int;
@check = STRCMP(NEW.locality_name,street_master.locality_name)
if(@check!=1)
then dbms_output.put_line('Record Already Exists');
End IF;
END;
//delimiter;

street_master 是表名,locality_name 是一列

收到的错误是:

There seems to be an error in your SQL query. The MySQL server error output below, if there is any, may also help you in diagnosing the problem. ERROR: Unknown Punctuation String @ 235 STR: // #1064 - Erreur de syntaxe près de '@check; @check = STRCMP(street_master.locality_name,NEW.name); if(@check!=1) ' à la ligne 4

最佳答案

您收到的错误来自于在变量前添加 @ 前缀。如果使用mysql复合语句语法,则不需要在它们前面加上@前缀,因此将其删除。

但是,您尝试实现的目标可以通过在 locality_name 字段上创建一个简单的唯一索引来完成。

如果您坚持使用触发器,则 strcmp() 调用不正确,您应该运行 select 来检查该值是否存在。

关于mysql - 需要更正以下触发器中的语法错误,使用 phpMyAdmin 来执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35860595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com