我怎样才能得到错误文本MySQL 5.5存储过程时SQLEXCEPTION
occurs?
我需要一些类似的东西来看看出了什么问题:
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
GET DIAGNOSTICS CONDITION 1
SELECT "Table @p5 (Msg State @p2): @p1"
END;
如同在 MySQL 过程中获取 SQLEXCEPTION 消息,但版本是 5.6.4 - 所以获得诊断可用。
据我所知,没有办法模拟或替换的功能GET DIAGNOSTICS
在较低版本的 MySQL(低于 5.6.4)中。
上面有很多条目bugs.mysql.com以及询问此功能的 MySQL 论坛。 (比如这个:http://bugs.mysql.com/bug.php?id=11660)
我不知道您是否可以升级您的 MySQL 实例,但据我所知,这是您唯一的机会。
我发现(可能你也发现了)一些与此相关的问题,但所有这些问题要么都在谈论版本 5.6.4,要么没有答案:
EDIT
如果可以,请处理客户端应用程序中的 MySQL 错误。
您可以列出错误和警告SHOW ERRORS
and SHOW WARNINGS
之外的声明HANDLER
s,但您不能将这些语句的结果插入到表中。在处理程序内部,这些语句将给出空结果集。
对于特定状态,您可以声明单独的处理程序。这样,您可以知道状态,但不知道任何其他细节。
看看这篇文章:http://www.mysqltutorial.org/mysql-error-handling-in-stored-procedures/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)