真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么讓mysql異常理,mysql異常處理

MySQL異常處理淺析

MySQL的異常處理分析如下:

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、松江網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、松江網(wǎng)絡(luò)營銷、松江企業(yè)策劃、松江品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供松江建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

標(biāo)準格式

DECLARE

handler_type

HANDLER

FOR

condition_value[,...]

statement

handler_type:

CONTINUE

|

EXIT

|

UNDO

--這個暫時不支持

condition_value:

SQLSTATE

[VALUE]

sqlstate_value

|

condition_name

|

SQLWARNING

|

NOT

FOUND

|

SQLEXCEPTION

|

mysql_error_code

condition_value細節(jié)

1、常用MYSQL

ERROR

CODE

列表

更多錯誤列表見MySQL安裝路徑下

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

說明一下:SQLSTATE

[VALUE]

sqlstate_value這種格式是專門為ANSI

SQL

ODBC以及其他的標(biāo)準.

并不是所有的MySQL

ERROR

CODE

都映射到SQLSTATE。

2、如果你不想插ERROR

CODE的話,就用速記條件來代替

SQLWARNING

代表所有以01開頭的錯誤代碼

NOT

FOUND

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

SQLEXCEPTION

代表除了SQLWARNING和NOT

FOUND

的所有錯誤代碼

3、我們現(xiàn)在就用手冊上的例子

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,

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,

rows

affected

(0.00

sec)

mysql

DELIMITER

;

mysql

call

handlerdemo();

Query

OK,

rows

affected

(0.00

sec)

mysql

select

@x;

+------+

|

@x

|

+------+

|

2

|

+------+

1

row

in

set

(0.00

sec)

mysql

call

handlerdemo();

Query

OK,

rows

affected

(0.00

sec)

mysql

select

@x;

+------+

|

@x

|

+------+

|

1

|

+------+

1

row

in

set

(0.00

sec)

mysql

現(xiàn)在來看一下遇到錯誤繼續(xù)的情況

mysql

truncate

table

t;

Query

OK,

rows

affected

(0.01

sec)

mysql

DELIMITER

$$

mysql

DROP

PROCEDURE

IF

EXISTS

`t_girl`.`handlerdemo`$$

Query

OK,

rows

affected

(0.00

sec)

mysql

CREATE

DEFINER=`root`@`localhost`

PROCEDURE

`handlerdemo`()

-

BEGIN

-

DECLARE

CONTINUE

HANDLER

FOR

SQLSTATE

'23000'

BEGIN

END;

-

SET

@x

=

1;

-

INSERT

INTO

t

VALUES

(1);

-

SET

@x

=

2;

-

INSERT

INTO

t

VALUES

(1);

-

SET

@x

=

3;

-

END$$

Query

OK,

rows

affected

(0.01

sec)

mysql

DELIMITER

;

mysql

call

handlerdemo();

Query

OK,

rows

affected

(0.00

sec)

mysql

select

@x;

+------+

|

@x

|

+------+

|

3

|

+------+

1

row

in

set

(0.00

sec)

mysql

call

handlerdemo();

Query

OK,

rows

affected

(0.00

sec)

mysql

select

@x;

+------+

|

@x

|

+------+

|

3

|

+------+

1

row

in

set

(0.00

sec)

mysql

可以看到,始終執(zhí)行到最后。

當(dāng)然,上面的SQLSTATE

'23000'可以替換為1062

我們來看一下警告。

mysql

alter

table

t

add

s2

int

not

null;

Query

OK,

rows

affected

(0.01

sec)

Records:

Duplicates:

Warnings:

此列沒有默認值,插入的時候會出現(xiàn)警告或者1364錯誤提示。

mysql

DELIMITER

$$

mysql

DROP

PROCEDURE

IF

EXISTS

`t_girl`.`handlerdemo`$$

Query

OK,

rows

affected,

1

warning

(0.00

sec)

mysql

CREATE

DEFINER=`root`@`localhost`

PROCEDURE

`handlerdemo`()

-

BEGIN

-

DECLARE

CONTINUE

HANDLER

FOR

1062

BEGIN

END;

-

DECLARE

CONTINUE

HANDLER

FOR

SQLWARNING

-

BEGIN

-

update

t

set

s2

=

2;

-

END;

-

DECLARE

CONTINUE

HANDLER

FOR

1364

-

BEGIN

-

INSERT

INTO

t(s1,s2)

VALUES

(1,3);

-

END;

-

SET

@x

=

1;

-

INSERT

INTO

t(s1)

VALUES

(1);

-

SET

@x

=

2;

-

INSERT

INTO

t(s1)

VALUES

(1);

-

SET

@x

=

3;

-

END$$

Query

OK,

rows

affected

(0.00

sec)

mysql

DELIMITER

;

mysql

call

handlerdemo();

Query

OK,

rows

affected

(0.00

sec)

mysql

select

*

from

t;

+----+----+

|

s1

|

s2

|

+----+----+

|

1

|

3

|

+----+----+

1

row

in

set

(0.00

sec)

遇到錯誤的時候插入的新記錄。

mysql

select

@x;

+------+

|

@x

|

+------+

|

3

|

+------+

1

row

in

set

(0.00

sec)

MYSQL訪問數(shù)據(jù),出現(xiàn)異常,這個要怎么解決

Mysql

遠程連接Mysql服務(wù)器的數(shù)據(jù)庫,錯誤代碼是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

猜想是無法給遠程連接的用戶權(quán)限問題。

這樣子操作mysql庫,即可解決。

在本機登入mysql后,更改 “mysql” 數(shù)據(jù)庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'即可

mysql -u root -p

mysql;use mysql;

mysql;select 'host' from user where user='root';

mysql;update user set host = '%' where user ='root';

mysql;flush privileges;

mysql;select 'host' from user where user='root';

第一句:以權(quán)限用戶root登錄

第二句:選擇mysql庫

第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)

第四句:修改host值(以通配符%的內(nèi)容增加主機/IP地址),當(dāng)然也可以直接增加IP地址

第五句:刷新MySQL的系統(tǒng)權(quán)限相關(guān)表

第六句:再重新查看user表時,有修改。。

重起mysql服務(wù)即可完成。

關(guān)于遠程mysql連接異常的處理方法

關(guān)于遠程mysql連接異常的處理方法

兩種種使用mysqlcheck tablerepair table sql語句另種使用MySQL提供myisamchk, isamchk數(shù)據(jù)檢測恢復(fù)工具前者使用起比較簡便推薦使用 1. check table repair table 登陸mysql 終端: mysql -uxxxxx -p dbname check table tabTest; 現(xiàn)結(jié)說StatusOK則用修復(fù)Error用: repair table tabTest; 進行修復(fù)修復(fù)用check table命令進行檢查新版本phpMyAdmin面使用check/repair功能 2. myisamchk, isamchk 其myisamchk適用于MYISAM類型數(shù)據(jù)表isamchk適用于ISAM類型數(shù)據(jù)表兩條命令主要參數(shù)相同般新系統(tǒng)都使用MYISAM作缺省數(shù)據(jù)表類型myisamchk例進行說明發(fā)現(xiàn)某數(shù)據(jù)表現(xiàn)問題使用: myisamchk tablename.MYI 進行檢測需要修復(fù)使用: myisamchk -of tablename.MYI 關(guān)于myisamchk詳細參數(shù)說明參見使用幫助需要注意進行修改必須確


當(dāng)前名稱:怎么讓mysql異常理,mysql異常處理
轉(zhuǎn)載源于:http://weahome.cn/article/dsccopp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部