当MySQL 5.5存储过程发生SQLEXCEPTION时,如何获得错误文本?
我需要一些类似的东西来看看到底出了什么问题:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1
SELECT "Table @p5 (Msg State @p2): @p1"
END;类似于在MySQL过程中获取SQLEXCEPTION消息,但版本为5.6.4 -因此GET诊断是可用的。
发布于 2014-08-12 20:30:58
我知道,在较低版本的GET DIAGNOSTICS (低于5.6.4)中无法模仿或替换MySQL的功能。
在bugs.mysql.com和MySQL论坛上有许多条目,这些条目都要求提供这个特性。(就像这个:http://bugs.mysql.com/bug.php?id=11660)
我不知道你能不能升级你的MySQL实例,但我知道,这是你唯一的机会。
我发现(可能你也发现了)一些与此相关的问题,但所有这些问题都是在谈论5.6.4版,或者没有答案:
编辑
如果可以,处理客户端应用程序中的MySQL错误。
可以使用SHOW ERRORS和SHOW WARNINGS语句在HANDLER之外列出错误和警告,但不能将这些语句的结果插入到表中。在处理程序中,这些语句将提供空的结果集。
对于特定的状态,可以声明各个处理程序。这样,你可以知道州,但你不知道任何其他细节。
查看本文:http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/
https://stackoverflow.com/questions/25045081
复制相似问题