和C#中處理異常的方法很相像,mysql也有它自己處理異常的方法,本文列出了mysql處理實例的代碼,通過代碼我們來了解mysql數據庫處理異常的原理和方法。
具體的實例代碼如下:
- 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 t1cond_val)valuesnull);
- 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/,謝謝大家的支持!