mysql发生错误的处理方法:1、如果发生1062错误,执行select语句;2、sql选择语句没有返回值时,设置【l_done=1】后继续执行;3、产生错误消息后退出当前块或存储过程;4、如果任何错误,设置【l_error】为1后执行。
mysql发生错误的处理方法:
1、如果任何错误(不是 not found ) , 设置 l_error 为 1 后继续执行:
declare continue handler for sqlexceptionset l_error=1;2、如果发生任何错误(不是 not found), 执行 rollback和产生一条错误消息后退出当前块或存储过程。
declare exit handler for sqlexceptionbeginrollback;select 'error occurred – terminating';end;3、如果 mysql 1062错误 (重复的健值 )发生,执行 select语句(向调用程序发一条消息)后继续执行
declare continue hander for 1062select 'duplicate key in index';4、如果 sqlstate 2300错误 (重复的健值 )发生,执行 select语句(向调用程序发一条消息)后继续执行
declare continue hander for sqlstate '23000'select 'duplicate key in index';5、当游标或者 sql 选择语句没有返回值时,设置 l_done=1 后继续执行
declare continue handler for notfoundset l_done=1;6、此例除了用 sqlstate 变量而不是命名条件以外,跟前一个例子一样
declare continue handler for sqlstate '02000 'set l_done=1;7、此例除了用 mysql 的错误码变量而不是命名条件或者 sqlstate 变量以外,跟前两个例子一样
declare continue handler for 1329set l_done=1;更多相关免费学习推荐:mysql教程(视频)