虚拟主机域名注册-常见问题 → 数据库问题 → MySQL | |||||||
SET sql_mode=''''是什么意思?有什么用途
if($this->version() > '5.0.1') { mysql_query("SET sql_mode=''", $this->link); } sql_mode=”" 的作用: sql_mode=”",即强制不设定MySql模式(如不作输入检测、错误提示、语法模式检查等)应该能提高性能,但有如下问题: 如果插入了不合适数据(错误类型或超常),mysql会将数据设为“最好的可能数据”而不报错,如: /数字 设为:0/可能最小值/可能最大值 /字符串 设为:空串/能够存储的最大容量字符串 /表达式 设为:返回一个可用值(1/0-null) 所以,解决办法是:所有列都要采用默认值,这对性能也好。 如果mysql版本大于 5.0的话,在php连接mysql的时候会用如下语句 if($this->version() > '5.0.1') { mysql_query("SET sql_mode=''", $this->link); } 为什么会这样写,其实原因应该是提高mysql的效率 , 因为mysql有很多种模式,就像浏览器解析网页类型那样,根据doctype的不同, 对网页用不同的要求与模式进行解析。 当用"SET sql_mode=''"时,mysql清除的默认的模式信息, 但是这也有一个问题,那就mysql不会作入侵检测,错误提示, 这就要求程序员在进行sql操作的时候更加小心。
|
|||||||
>> 相关文章 | |||||||
没有相关文章。 | |||||||
发表评论 | |||||||