gpt4 book ai didi

MySQL 触发器 "syntax error, unexpected END, expecting ' ;'"

转载 作者:行者123 更新时间:2023-11-29 23:07:50 24 4
gpt4 key购买 nike

我正在尝试创建触发器来验证客户表中的电子邮件地址,但收到错误

syntax error, unexpected END, expecting ';'

我的代码如下:

CREATE TRIGGER insert_validation_email
BEFORE INSERT ON customer FOR EACH ROW
BEGIN
IF (NEW.CustomerEmail NOT REGEXP '^[^@]+@[^@]+\.[^@]{2,}$')
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Cannot add or update row: invalid email address'
END* IF
END

END* 是带有错误下划线的位置(星号不存在)

还会包含其他验证触发器,因此需要 begin 和 end 语句

最佳答案

通过更改分隔符并放置来修复;在 if block 和最终 END 之后。感谢 Gordon Linoff 和 a_horse_with_no_name 的帮助

DELIMITER $$
CREATE TRIGGER before_insert_email
BEFORE INSERT ON customer FOR EACH ROW
BEGIN
IF (NEW.CustomerEmail NOT REGEXP '^[^@]+@[^@]+\.[^@]{2,}$')
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Cannot add or update row: invalid email address';
END IF;
END$$
DELIMITER ;

关于MySQL 触发器 "syntax error, unexpected END, expecting ' ;'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28215879/

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