和C#中处理异常的方法很相像,mysql也有它自己处理异常的方法,本文列出了mysql处理实例的代码,通过代码我们来了解mysql数据库处理异常的原理和方法。
具体的实例代码如下:
class="dp-xml">
- DROP PROCEDURE IF EXISTS sp_call_jobs;
- CREATE PROCEDURE sp_call_jobs()
- NOT DETERMINISTIC
- SQL SECURITY DEFINER
- COMMENT ''
- BEGIN
- declare _row,_err,_count int default 0;
- DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND set _err=1;
- while _row<3 DO
- START TRANSACTION;
- insert into t1(cond_val)values(null);
- COMMIT;
- if _err=1 then
- set _count_count=_count+1;
- end if;
- set _row_row=_row+1;
- end while;
- select _count;
- END;
语句:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND set _err=1;
作用是当遇到SQLEXCEPTION,SQLWARNING,NOT FOUND 错误时,设置_err=1并执行CONTINUE操作,即继续执行后面的语句。
而且在执行可能出错的语句的时候我们用事务语句:START TRANSACTION; …… COMMIT; 可以保证完整性。
本文就介绍这些,如果想了解更多mysql的问题请到:http://database.51cto.com/mysql/,谢谢大家的支持!