Mysql 的SQL mode魔术
2010-11-12 09:47
405 查看
对于数据库一直以来都是一路next安装,安装了之后就使用,很少对其进行什么配置,估计大部分开发人员都是这样,过分依赖DBA。在最近的项目中,由于产品已经在线。因为遇到了开发环境和在线系统数据库配置不一样的问题,并导致了很多麻烦。
在开发过程中发现了两个问题:
1、在线系统对于字符长度超出规定的字段进行自动截取,而开发环境中数据库提示错误。
2、在线系统对于非空字段的空值插入自动忽略,而开发环境中报错。
对于这两个问题,一路跟踪到系统使用的框架原码日志部分,都没有找出问题所在,纠结中想到会不会是数据库配置的问题?于是上网查找,看到有关mysql sql mode的设置。于是对比开发环境和在线系统的设置发现,再现系统地sql mode设置为空。
于是更改开发环境的sql mode设置,于是终于统一了。
至于不设置sql mode是否还有其他功能在内,笔者还没有深入探讨,上面两项也可以说是魔术了。但是,个人认为,使用这种魔术简化了开发中的错误处理,却让系统的友好性降低,同时也大大降低了系统纠错能力。不值得鼓励。
在开发过程中发现了两个问题:
1、在线系统对于字符长度超出规定的字段进行自动截取,而开发环境中数据库提示错误。
2、在线系统对于非空字段的空值插入自动忽略,而开发环境中报错。
对于这两个问题,一路跟踪到系统使用的框架原码日志部分,都没有找出问题所在,纠结中想到会不会是数据库配置的问题?于是上网查找,看到有关mysql sql mode的设置。于是对比开发环境和在线系统的设置发现,再现系统地sql mode设置为空。
于是更改开发环境的sql mode设置,于是终于统一了。
至于不设置sql mode是否还有其他功能在内,笔者还没有深入探讨,上面两项也可以说是魔术了。但是,个人认为,使用这种魔术简化了开发中的错误处理,却让系统的友好性降低,同时也大大降低了系统纠错能力。不值得鼓励。
相关文章推荐
- MySQL sql-mode
- MySQL5.5 SQL_MODE
- Mysql SQL Mode简介
- MySQL或者MariaDB里面sql_mode的设置详解
- Mysql SQL Mode详解
- 2017-10-19-MySQL SQL_MODE详解
- mysql 5.7 sql_mode设置 坑
- Mysql SQL Mode
- MySql版本问题sql_mode=only_full_group_by的完美解决方案
- mysql SQL_MODE设置
- Mysql的sql_mode
- MySQL的sql_mode解析与设置,sql文件导入报错解决
- Mysql SQL Mode详解
- MySQL客户端、服务器端工具、sql_mode、存储引擎修改、事务的提交和回滚、隔离级别
- mysql:sql-mode
- MySQL的sql_mode 模式修改 my.cnf
- mysql 5.7 this is incompatible with sql_mode=only_full_group_by 问题
- [置顶] 【mysql 使用错误解决】this is incompatible with sql_mode=only_full_group_by
- mysql的sql_mode 模式修改 my.cnf
- Mysql SQL Mode与可移植性