处理错误并抛出适当的错误消息非常重要。MySQL提供了一个处理程序来处理错误。我们可以使用以下语法声明一个处理程序 −
处理程序的语法
DECLARE handler_action FOR condition_value statement;
上述语法显示我们需要使
用DECLARE HANDLER语句来声明一个处理程序。如果一个条件的值与condition_value匹配,那么MySQL将执行该语句并根据action继续或退出当前代码块。以下是上述语法中的三个主要内容:
-
Handler_action有两种类型,并且可以接受以下值:
- CONTINUE - 如果handler_action为'CONTINUE',则继续执行封闭代码块。
- EXIT - 如果handler_action为'EXIT',则终止执行封闭代码块。
-
Condition_value指定激活处理程序的特定条件或条件类别。它可以接受以下值:
- ERROR CODE - condition_value可以是MySQL错误代码。
- SQLSTATE - condition_value也可以是SQLSTATE。
- SQLWARNING - condition_value也可以是SQLWARNING。
- NOTFOUND - condition_value也可以是NOTFOUND。
- SQLEXCEPTION - condition_value也可以是SQLEXCEPTION。
Statement可以是一个简单的语句或由BEGIN和END关键字封闭的复合语句。
示例
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;
在上面的例子中,一个处理程序意味着如果发生错误,则将got_error变量的值设置为10并继续执行。








