相关疑难解决方法(0)

正在处理MySQL异常处理程序访问异常

我正在尝试回滚错误,但仍然让客户端收到错误.除非有一种方法可以在异常处理程序中访问错误,否则这实际上可能是不可能的.

可以从异常中"抛出",即可以发出信号:

CREATE PROCEDURE p ()
BEGIN
  DECLARE EXIT HANDLER FOR SQLEXCEPTION
  BEGIN
    SIGNAL SQLSTATE VALUE '99999'
      SET MESSAGE_TEXT = 'An error occurred';
  END;
  DROP TABLE no_such_table;
END;
Run Code Online (Sandbox Code Playgroud)

但是这个来自MySQL doc的示例代码看起来很糟糕,因为它实际上吞噬了所有错误并将它们合并为一个.

SHOW ERRORS似乎相关,但我没有看到任何方式以编程方式使用它,例如SELECT Code FROM (SHOW ERRORS);是不可能的.

这可能吗?有没有更好的做法,我完全错过了?

mysql signals exception-handling

7
推荐指数
1
解决办法
4698
查看次数

标签 统计

exception-handling ×1

mysql ×1

signals ×1