這篇文章給大家分享的是有關(guān)mysql發(fā)生錯(cuò)誤怎么解決的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)是一家專業(yè)的成都網(wǎng)站建設(shè)公司,我們專注網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷、企業(yè)網(wǎng)站建設(shè),買友情鏈接,一元廣告為企業(yè)客戶提供一站式建站解決方案,能帶給客戶新的互聯(lián)網(wǎng)理念。從網(wǎng)站結(jié)構(gòu)的規(guī)劃UI設(shè)計(jì)到用戶體驗(yàn)提高,創(chuàng)新互聯(lián)力求做到盡善盡美。mysql發(fā)生錯(cuò)誤的處理方法:1、如果發(fā)生1062錯(cuò)誤,執(zhí)行SELECT語(yǔ)句;2、SQL選擇語(yǔ)句沒有返回值時(shí),設(shè)置【l_done=1】后繼續(xù)執(zhí)行;3、產(chǎn)生錯(cuò)誤消息后退出當(dāng)前塊或存儲(chǔ)過程;4、如果任何錯(cuò)誤,設(shè)置【l_error】為1后執(zhí)行。
mysql發(fā)生錯(cuò)誤的處理方法:
1、如果任何錯(cuò)誤(不是 NOT FOUND ) , 設(shè)置 l_error 為 1 后繼續(xù)執(zhí)行:
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET l_error=1;
2、如果發(fā)生任何錯(cuò)誤(不是 NOT FOUND), 執(zhí)行 ROLLBACK和產(chǎn)生一條錯(cuò)誤消息后退出當(dāng)前塊或存儲(chǔ)過程。
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; SELECT 'Error occurred – terminating'; END;
3、如果 MySQL 1062錯(cuò)誤 (重復(fù)的健值 )發(fā)生,執(zhí)行 SELECT語(yǔ)句(向調(diào)用程序發(fā)一條消息)后繼續(xù)執(zhí)行
DECLARE CONTINUE HANDER FOR 1062 SELECT 'Duplicate key in index';
4、如果 SQLSTATE 2300錯(cuò)誤 (重復(fù)的健值 )發(fā)生,執(zhí)行 SELECT語(yǔ)句(向調(diào)用程序發(fā)一條消息)后繼續(xù)執(zhí)行
DECLARE CONTINUE HANDER FOR SQLSTATE '23000' SELECT 'Duplicate key in index';
5、當(dāng)游標(biāo)或者 SQL 選擇語(yǔ)句沒有返回值時(shí),設(shè)置 l_done=1 后繼續(xù)執(zhí)行
DECLARE CONTINUE HANDLER FOR NOT FOUND SET l_done=1;
6、此例除了用 SQLSTATE 變量而不是命名條件以外,跟前一個(gè)例子一樣
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000 ' SET l_done=1;
7、此例除了用 MySQL 的錯(cuò)誤碼變量而不是命名條件或者 SQLSTATE 變量以外,跟前兩個(gè)例子一樣
DECLARE CONTINUE HANDLER FOR 1329 SET l_done=1;
感謝各位的閱讀!關(guān)于mysql發(fā)生錯(cuò)誤怎么解決就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!