请教在sql语句执行时,如何跳过错误,继续执行

请教在sql语句执行时,如何跳过错误,继续执行,第1张

@错误控制 *** 作符可以实现这样的功能。

@符号可以忽略错误,有抑制错误的功能。

例如:

function db_connect()//连接数据库

{

@$db =mysql_connect('localhost','root','test')

if(!$db) {

throw new Exception('连接数据库失败!请重试!')

}

mysql_select_db('book')

return $db

}

如果连接数据库不成功的,前面的“@”就能把错误显示给抑制住,也就是不会显示错误,然后再抛出异常,显示自己定义的异常处理,建议最好少用,这样会增加一定的系统开销。

刚才试了下通过SQL_MODE来控制,发现还是不行。跟文档上描述的有出入,不知道是不是版本问题mysql>

select

@@session.sql_mode+----------------------------------------------------------------+|

@@session.sql_mode

|+----------------------------------------------------------------+|

STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

|

+----------------------------------------------------------------+1

row

in

set

(0.00

sec)mysql>

load

data

local

infile

'/home/wanghai01/data/customer_20111022.dat'

into

table

aa

fields

terminated

by','

lines

terminated

by'\n'Query

OK,

3

rows

affected,

2

warnings

(0.01

sec)Records:

3

Deleted:

0

Skipped:

0

Warnings:

1mysql>

mysql>

select

version()+------------+|

version()

|+------------+|

5.1.45-log

|

+------------+1

row

in

set

(0.01

sec)

对我有用[0]丢个板砖[0]引用举报管理TOPwh62592855(右鞋左穿)等

级:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7360199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存