在程序MySQL 5.5.x中获取SQLEXCEPTION消息
当发生在程序MySQL 5.5.x中获取SQLEXCEPTION消息,mysql,exception-handling,sqlexception,Mysql,Exception Handling,Sqlexception,当发生SQLEXCEPTION时,如何在MySQL 5.5存储过程中获取错误文本 我需要一些类似的东西来看看哪里出了问题: DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 SELECT "Table @p5 (Msg State @p2): @p1" END; 与类似,但版本为5.6.4-因此可以使用获取诊断功能。正如我所知,在MySQL的较低版本(低于5.6.4)中,没有办
SQLEXCEPTION
时,如何在MySQL 5.5存储过程中获取错误文本
我需要一些类似的东西来看看哪里出了问题:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1
SELECT "Table @p5 (Msg State @p2): @p1"
END;
与类似,但版本为5.6.4-因此可以使用获取诊断功能。正如我所知,在MySQL的较低版本(低于5.6.4)中,没有办法模拟或替换
获取诊断功能
MySQL论坛上有许多条目要求使用此功能。(请看这个:)
我不知道你能不能升级你的MySQL实例,但我知道,这是你唯一的机会
我发现(可能你也发现了)一些与此相关的问题,但所有这些问题要么都在谈论5.6.4版,要么都没有答案:
-
-
编辑
如果可以,请在客户端应用程序中处理MySQL错误
您可以使用处理程序
之外的SHOW errors
和SHOW warnings
语句列出错误和警告,但不能将这些语句的结果插入表中。在处理程序内部,这些语句将给出空的resultset
对于特定状态,可以声明单个处理程序。通过这种方式,您可以了解状态,但您不知道任何其他详细信息
查看本文:是否有任何方法可以从捕获的异常中获取/报告信息?我不知道任何方法。如果您为特定状态编写处理程序,您将了解该状态。但是状态太多,无法为每个状态编写处理程序。请参阅本文: