3

我在我的存储过程中使用以下异常处理程序。

DECLARE EXIT HANDLER FOR SQLEXCEPTION
    
Begin
      DROP TABLE temp_checkForDuplicate;
      SET outDone = -1;
End;

在这里,我找到了一些特定的代码

异常“1062”

DECLARE EXIT handler for 1062 set o_error_status := "Duplicate entry in table";

如果我不知道异常编号怎么办:如何处理任何异常并抛出其编号及其消息?

4

1 回答 1

0

在 5.5 之前的 MySQL 版本中,您不能真正做到这一点。

5.5 版引入了信号,它提供了一种返回特定错误代码或条件的机制。

http://dev.mysql.com/doc/refman/5.5/en/signal.html

5.6 版添加了“获取诊断”,它提供了您需要的信息。

http://dev.mysql.com/doc/refman/5.6/en/get-diagnostics.html

您还可以在这些 SO Questions 中找到相关信息。

MySQL 存储过程错误处理

如何在 MySQL 函数中引发错误

于 2013-02-05T18:38:01.060 回答