虚拟主机域名注册-常见问题数据库问题 → 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操作的时候更加小心。



来源:
阅读:1013
日期:2022-11-29

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:MySQL查询几天前的数据(1天,3天,7天,30天,1个月)等
下一篇:获取服务器端IP地址 gethostbyname()
  >> 相关文章
  没有相关文章。
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款