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?SQLEXCEPTION SET?l_error=1;
2、如果發生任何錯誤(不是 NOT FOUND), 執行 ROLLBACK和產生一條錯誤消息后退出當前塊或存儲過程。
DECLARE?EXIT?HANDLER?FOR?SQLEXCEPTION BEGIN ROLLBACK; SELECT?'Error?occurred?–?terminating'; END;
3、如果 MySQL 1062錯誤 (重復的健值 )發生,執行 SELECT語句(向調用程序發一條消息)后繼續執行
DECLARE?CONTINUE?HANDER?FOR?1062 SELECT?'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?NOT FOUND SET?l_done=1;
6、此例除了用 SQLSTATE 變量而不是命名條件以外,跟前一個例子一樣
DECLARE?CONTINUE?HANDLER?FOR?SQLSTATE?'02000?' SET?l_done=1;
7、此例除了用 MySQL 的錯誤碼變量而不是命名條件或者 SQLSTATE 變量以外,跟前兩個例子一樣
DECLARE?CONTINUE?HANDLER?FOR?1329 SET?l_done=1;
更多相關免費學習推薦:mysql教程(視頻)
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦