gpt4 book ai didi

mysql - 在过程 MySQL 5.5.x 中获取 SQLEXCEPTION 消息

转载 作者:行者123 更新时间:2023-11-29 01:16:36 28 4
gpt4 key购买 nike

SQLEXCEPTION 发生时,如何在 MySQL 5.5 存储过程中获取错误文本?

我需要一些类似的东西来查看哪里出了问题:

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

类似于Getting SQLEXCEPTION message in MySQL procedures , 但版本是 5.6.4 - 所以 GET DIAGNOSTICS 可用。

最佳答案

据我所知,在较低版本的 MySQL(低于 5.6.4)中,无法模拟或替换 GET DIAGNOSTICS 的功能。

bugs.mysql.com 上有很多条目以及询问此功能的 MySQL 论坛。 (比如这个:http://bugs.mysql.com/bug.php?id=11660)

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

我发现(可能你也发现了)一些与此相关的问题,但所有问题要么在谈论 5.6.4 版本,要么没有答案:

编辑

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

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

对于特定状态,您可以声明单独的处理程序。这样,您可以知道状态,但不知道任何其他详细信息。

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

关于mysql - 在过程 MySQL 5.5.x 中获取 SQLEXCEPTION 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25045081/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com