在将记录插入“employees”表之前,我要检查年龄是否大于18岁。我正在使用phpMyAdminGUI触发器工具。但当我在definition部分键入这个脚本时,它会出现以下错误。
BEGIN
IF (DATEDIFF(CURRENT_DATE(),NEW.birth_date) < 6570) THEN
RAISEERROR('Age is less than 18 years!',16,1)
ROLLBACK
END IF
END
请帮我解决这个问题。
1条答案
按热度按时间ruarlubt1#
RAISEERROR
以及ROLLBACK
在tsql(microsoft sql server)语法中使用。在mysql中,我们使用
SIGNAL .. SET MESSAGE_TEXT ..
要在触发器内引发异常:要向通用sqlstate值发送信号,请使用“45000”,这意味着“未处理的用户定义异常”
signal执行后可以访问的错误值是signal语句和消息\u text和mysql \u errno项引发的sqlstate值。