mysql 数据库 sql mode 的研究与整理
来源:互联网 发布:数据抽样方法 编辑:程序博客网 时间:2024/06/06 02:19
最近在看mysql5.7.18版本,关于sql mode 的配置,个人对其非常着迷,前后遇到过好几次;对于技术问题,我向来遇到问题我都是搞不清楚本质死不罢休的那种,所以还是写写,用文字记录下来整个细节:
安装好了mysql5.7.18版本以后,查看默认的sql_mode 的值:
mysql> select @@sql_mode;+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select @@sql_mode;
+-------------------------------------------------------------------------------------------------------------------------------------------+
| @@sql_mode |
+-------------------------------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+-------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select @@sql_mode\G;
*************************** 1. row ***************************
@@sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1 row in set (0.00 sec)
上面的几个项,我们来一一分析并说明:
> ONLY_FULL_GROUP_BY
如果sql mode 中包括 only_full_group_by 的话,就是only_full_group_by 模式;
如果不包括only_full_group_by的话,就是非only_full_group_by模式;
首先我们来讲这个项的作用,然后再来说mysql 5.7以及后续版本默认开启这个项的缘故;
该项就是针对 group by 查询的,在group by 查询时,如果未开启 only_full_group_by 模式;
聚集函数或group by
具体详情可参考: http://www.ywnds.com/?p=8184
> STRICT_TRANS_TABLES
> NO_ZERO_IN_DATE
> NO_ZERO_DATE
> ERROR_FOR_DIVISION_BY_ZERO
> NO_AUTO_CREATE_USER
> NO_ENGINE_SUBSTITUTION
对sql mode 的详细说明,还是建议参考mysql官网上面的文档,非常的详细,不过都是英文的奥;
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html
以及sql mode 在mysql 5.7.x版本中的变化:
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#SQL Mode Changes in MySQL 5.7
////
http://www.ywnds.com/?p=8184
- mysql 数据库 sql mode 的研究与整理
- MySQL的SQL Mode
- MySQL的sql mode介绍
- MySQL的sql mode介绍
- Mysql 的SQL mode魔术
- MYSQL的sql mode详解
- mysql数据库常用sql的分类整理
- Mysql SQL Mode与可移植性
- MySQL数据库SQL语句整理
- Mysql里常用的SQL Mode
- MySQL中常用的SQL Mode
- 数据库---常见约束的SQL语句的研究与使用
- mySql数据库出问题,整理一下mySql的安装与配置
- 资深数据库SQL工程师整理的常用MySQL语句
- Mysql SQL Mode简介
- MySQL sql-mode
- MySQL sql-mode
- Mysql SQL Mode详解
- Android学习笔记——Git使用技巧
- 01背包的路径全纪录
- LVM
- Google算法题:最多有k个不同字符的最长子字符串
- 使用QUnit测试JavaScript
- mysql 数据库 sql mode 的研究与整理
- 快速幂-竞赛算法用法-和-例题详解---Hayden's Blog.
- USB驱动之xhci
- Mysql数据类型和运算符学习
- 内存的管理艺术(基于C语言)1
- JAVA实现实用的ZIP压缩与解压
- iframe 的事件传递
- 655. Print Binary Tree
- 安装篇 01. 安装镜像 ISO 文件下载 ❀ Windows Server 2016