您的位置:首页 > 数据库 > MySQL

Mysql 的SQL mode魔术

2010-11-12 09:47 405 查看
对于数据库一直以来都是一路next安装,安装了之后就使用,很少对其进行什么配置,估计大部分开发人员都是这样,过分依赖DBA。在最近的项目中,由于产品已经在线。因为遇到了开发环境和在线系统数据库配置不一样的问题,并导致了很多麻烦。

在开发过程中发现了两个问题:

1、在线系统对于字符长度超出规定的字段进行自动截取,而开发环境中数据库提示错误。

2、在线系统对于非空字段的空值插入自动忽略,而开发环境中报错。

对于这两个问题,一路跟踪到系统使用的框架原码日志部分,都没有找出问题所在,纠结中想到会不会是数据库配置的问题?于是上网查找,看到有关mysql sql mode的设置。于是对比开发环境和在线系统的设置发现,再现系统地sql mode设置为空。

于是更改开发环境的sql mode设置,于是终于统一了。

至于不设置sql mode是否还有其他功能在内,笔者还没有深入探讨,上面两项也可以说是魔术了。但是,个人认为,使用这种魔术简化了开发中的错误处理,却让系统的友好性降低,同时也大大降低了系统纠错能力。不值得鼓励。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: