Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在程序MySQL 5.5.x中获取SQLEXCEPTION消息_Mysql_Exception Handling_Sqlexception - Fatal编程技术网

在程序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

对于特定状态,可以声明单个处理程序。通过这种方式,您可以了解状态,但您不知道任何其他详细信息


查看本文:

是否有任何方法可以从捕获的异常中获取/报告信息?我不知道任何方法。如果您为特定状态编写处理程序,您将了解该状态。但是状态太多,无法为每个状态编写处理程序。请参阅本文: