mysql 存储过程 异常信息,如何获取MySQL 5.5中存储过程的异常消息

I'm using MySQL 5.5.

To get the exception message on MySQL 5.6 is using GET DIAGNOSTIC function. Is there any similar function in MySQL 5.5 ,.?

The project I'm working is already use MySQL version 5.5.

解决方案

You could try using SHOW ERROR and SHOW WARNING. To see the last error or warning you could use it as:

SHOW ERRORS LIMIT 1 -- for SQL-state > 2

SHOW WARNINGS LIMIT 1 -- for SQL-state 1,2

In order to prevent listing each and every error, you can handle a class of SQL-errors like so:

SQLWARNING is shorthand for the class of SQLSTATE values that begin

with '01'.

NOT FOUND is shorthand for the class of SQLSTATE values that begin

with '02'. This is relevant only within the context of cursors and is

used to control what happens when a cursor reaches the end of a data

set. If no more rows are available, a No Data condition occurs with

SQLSTATE value 02000. To detect this condition, you can set up a

handler for it (or for a NOT FOUND condition). An example is shown in

Section 12.7.5, “Cursors”. This condition also occurs for SELECT ...

INTO var_list statements that retrieve no rows.

SQLEXCEPTION is shorthand for the class of SQLSTATE values that do not

begin with '00', '01', or '02'.

So to handle an exception, you need to only do:

DECLARE EXIT HANDLER FOR SQLSTATE SQLEXCEPTION .....;

Links:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值