IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類(lèi)|軟件專(zhuān)題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁(yè)數(shù)據(jù)庫(kù)MYSQL → 帶你輕松接觸MySQL數(shù)據(jù)庫(kù)的異常處理

帶你輕松接觸MySQL數(shù)據(jù)庫(kù)的異常處理

時(shí)間:2015/6/28來(lái)源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評(píng)論(0)

對(duì)于mysql的異常處理,本人不常用。不過(guò)我覺(jué)得還是有寫(xiě)下來(lái)的必要。

標(biāo)準(zhǔn)格式

以下為引用的內(nèi)容:

 DECLARE handler_type HANDLER FOR condition_value[,...] statement
  handler_type:
  CONTINUE
  | EXIT
  | UNDO --暫時(shí)不支持
  condition_value:
  SQLSTATE [VALUE] sqlstate_value
  | condition_name
  | SQLWARNING
  | NOT FOUND
  | SQLEXCEPTION
  | mysql_error_code

  condition_value細(xì)節(jié)

1、MySQL ERROR CODE 列表

如果需要查看更多的錯(cuò)誤列表可以直接到MySQL安裝路徑下。

比如我的/usr/local/mysql/share/mysql/errmsg.txt

說(shuō)明:SQLSTATE [VALUE] sqlstate_value這種格式是專(zhuān)門(mén)為ANSI SQL 和 ODBC以及其他的標(biāo)準(zhǔn).

并不是所有的MySQL ERROR CODE 都映射到SQLSTATE。

2、假如不需要插入ERROR CODE,可以用速記條件來(lái)代替

SQLWARNING 代表所有以01開(kāi)頭的錯(cuò)誤代碼

NOT FOUND 代表所有以02開(kāi)頭的錯(cuò)誤代碼,當(dāng)然也可以代表一個(gè)游標(biāo)到達(dá)數(shù)據(jù)集的末尾。

SQLEXCEPTION 代表除了SQLWARNING和NOT FOUND 的所有錯(cuò)誤代碼。

3、具體示例:

以下為引用的內(nèi)容:

  create TABLE t (s1 int,primary key (s1));
  mysql> use t_girl
  Database changed
  mysql> create TABLE t (s1 int,primary key (s1));
  Query OK, 0 rows affected (0.00 sec)
  mysql>
  mysql>
  mysql> DELIMITER ||
  mysql> create PROCEDURE handlerdemo ()
  -> BEGIN
  -> DECLARE EXIT HANDLER FOR SQLSTATE ’23000’ BEGIN END; -- 遇到重復(fù)鍵值就退出
  -> SET @x = 1;
  -> insert INTO t VALUES (1);
  -> SET @x = 2;
  -> insert INTO t VALUES (1);
  -> SET @x = 3;
  -> END||
  Query OK, 0 rows affected (0.00 sec)
  mysql> DELIMITER ;
  mysql> call handlerdemo();
  Query OK, 0 rows affected (0.00 sec)
  mysql> select @x;
  +------+
  | @x |
  +------+
  | 2 |
  +------+
  1 row in set (0.00 sec)
  mysql> call handlerdemo();
  Query OK, 0 rows affected (0.00 sec)
  mysql> select @x;
  +------+
  | @x |
  +------+
  | 1 |
  +------+
  1 row in set (0.00 sec)
  mysql>

關(guān)鍵詞標(biāo)簽:異常,處理,數(shù)據(jù)庫(kù),接觸

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門(mén)文章 10款MySQL數(shù)據(jù)庫(kù)客戶(hù)端圖形界面管理工具推薦10款MySQL數(shù)據(jù)庫(kù)客戶(hù)端圖形界面管理工具推薦MySQL常用維護(hù)管理工具MySQL常用維護(hù)管理工具Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)Linux VPS/服務(wù)器上輕松導(dǎo)入、導(dǎo)出MySQL數(shù)據(jù)MySQL復(fù)制的概述、安裝、故障、技巧、工具MySQL復(fù)制的概述、安裝、故障、技巧、工具

相關(guān)下載

人氣排行 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)Mysql 1045錯(cuò)誤解決辦法10款MySQL數(shù)據(jù)庫(kù)客戶(hù)端圖形界面管理工具推薦MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法MySQL導(dǎo)出導(dǎo)入命令的用例MySQL無(wú)法啟動(dòng)、無(wú)法停止各種解決方法總結(jié)三種常用的MySQL建表語(yǔ)句Mysql清空表的實(shí)現(xiàn)方法