mysql發(fā)生錯誤的處理方法:1、如果發(fā)生1062錯誤,執(zhí)行select語句;2、sql選擇語句沒有返回值時,設置【l_done=1】后繼續(xù)執(zhí)行;3、產生錯誤消息后退出當前塊或存儲過程;4、如果任何錯誤,設置【l_error】為1后執(zhí)行。
mysql發(fā)生錯誤的處理方法:
1、如果任何錯誤(不是 not found ) , 設置 l_error 為 1 后繼續(xù)執(zhí)行:
declare continue handler for sqlexceptionset l_error=1;2、如果發(fā)生任何錯誤(不是 not found), 執(zhí)行 rollback和產生一條錯誤消息后退出當前塊或存儲過程。
declare exit handler for sqlexceptionbeginrollback;select 'error occurred – terminating';end;3、如果 mysql 1062錯誤 (重復的健值 )發(fā)生,執(zhí)行 select語句(向調用程序發(fā)一條消息)后繼續(xù)執(zhí)行
declare continue hander for 1062select 'duplicate key in index';4、如果 sqlstate 2300錯誤 (重復的健值 )發(fā)生,執(zhí)行 select語句(向調用程序發(fā)一條消息)后繼續(xù)執(zhí)行
declare continue hander for sqlstate '23000'select 'duplicate key in index';5、當游標或者 sql 選擇語句沒有返回值時,設置 l_done=1 后繼續(xù)執(zhí)行
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教程(視頻)