在程序MySQL 5.5.x中获取SQLEXCEPTION消息

jp2*_*ode 2 mysql exception-handling sqlexception

如何在MySQL 5.5存储过程中SQLEXCEPTION出现错误文本?

我需要沿着这些方向看看出了什么问题:

DECLARE EXIT HANDLER FOR SQLEXCEPTION    
BEGIN
    GET DIAGNOSTICS CONDITION 1
    SELECT "Table @p5 (Msg State @p2): @p1"
END;
Run Code Online (Sandbox Code Playgroud)

类似于在MySQL程序中获取SQLEXCEPTION消息,但版本是5.6.4 - 因此GET DIAGNOSTICS可用.

Pre*_*red 7

据我所知,没有办法模拟或替换GET DIAGNOSTICS较低版本的MySQL(低于5.6.4)的功能.

bugs.mysql.com和MySQL论坛上有很多条目要求这个功能.(点击这个:http://bugs.mysql.com/bug.php?id = 11660 )

我不知道你能不能升级你的MySQL实例,但据我所知,这是你唯一的机会.

我找到了(可能你也找到了它们)与此相关的一些问题,但所有问题都是在讨论5.6.4版或者没有答案:

编辑

如果可以,请在客户端应用程序中处理MySQL错误.

您可以在s 之外列出错误和警告SHOW ERRORS以及SHOW WARNINGS语句HANDLER,但不能将这些语句的结果插入表中.在处理程序内部,这些语句将给出空结果集.

对于特定状态,您可以声明各个处理程序.这样,您可以知道状态,但您不知道任何其他细节.

看看这篇文章:http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/