0

我正在尝试在 MySQL 中构建一个触发器,该触发器将在将新行插入表后运行。如果检测到错误,那么我想将该触发器写入表。否则,我不想将错误写入表。我想尝试避免添加无尽的空白行。

这是我的代码:

CREATE 
TRIGGER character_validation4 AFTER INSERT 
ON address FOR EACH ROW 
Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') 
THEN 
INSERT INTO errorlog (city, mainprocessid) Values("There is an error with the city", New.ID));
END

但我在最后一个括号上看到一个错误。

任何人都可以帮忙吗?谢谢

4

2 回答 2

2
DELIMITER \\

CREATE 
TRIGGER character_validation4 AFTER INSERT 
ON address FOR EACH ROW 
Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') 
THEN 
INSERT INTO errorlog (city, mainprocessid) Values("There is an error with the city", New.ID);
END IF;
END \\

DELIMITER ;
于 2013-04-18T09:33:38.080 回答
1

看来您在 New.ID 之后有一个额外的“)”。试试这个方法

CREATE TRIGGER character_validation4 
AFTER INSERT ON address FOR EACH ROW Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') THEN INSERT INTO errorlog (city, mainprocessid) 
Values("There is an error with the city", New.ID);
END IF;
END;
于 2013-04-18T09:33:32.410 回答