sql_mode参数

梦莱2年前技术文章613

一、参数含义

sql_mode是个很容易被忽视的变量,其本身主要就是一种语法校验规则 默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。

二、常用值含义

1、ONLY_FULL_GROUP_BY:对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中。(这种情况最容易遇到)

图片17.png

2、NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。

3、STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制。

4、NO_ZERO_IN_DATE:在严格模式下,不允许日期和月份为零

5、NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。

6、ERROR_FOR_DIVISION_BY_ZERO:

INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL

7、NO_AUTO_CREATE_USER:

禁止GRANT创建密码为空的用户

8、NO_ENGINE_SUBSTITUTION:

如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

9、PIPES_AS_CONCAT:

"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似

10、ANSI_QUOTES:

启用ANSI_QUOTES后,不能用双引号来引用


相关文章

HDFS迁移参数说明

HDFS迁移命令如下:hadoop distcp -Ddfs.namenode.kerberos.principal.pattern=* -Dmapreduce.job.hdfs-servers.to...

scylladb下线数据中心

1、在要下线的老数据中心所有节点运行数据修复nodetool -h ::FFFF:127.0.0.1 repair -pr2、更改所有业务keyspace的复制策略不在写入老的数据中心--查看所有的k...

MySQL 二进制安装

MySQL 二进制安装

一、前言● 介绍:业务环境安装 MySQL 一般都会通过二进制来安装,今天就记录一下业务环境二进制安装 MySQL 过程。● 环境:CentOS 7 安装:MySQL 5.7+二、安装 MySQL1....

MySQL运维实战之ProxySQL(9.3)使用ProxySQL实现读写分离

proxysql读写分离主要通过mysql_query_rules表中的规则来实现。下面是具体的配置步骤:hostgroup配置insert into mysql_servers&...

Kubernetes安全--securityContext介绍

securityContext是用来控制容器内的用户权限,你想用什么用户去执行程序或者执行操作等等。1. securityContext介绍安全上下文(Security Context)定义 Pod...

数仓主流架构简介之二

数仓主流架构简介之二

一、流批一体数据批流一体是一种云计算架构模式,它结合了批处理和流处理的特点,以实现更高效、灵活和可扩展的数据处理能力。在这种模式下,数据可以同时进行批处理和流处理,以满足不同场景下的需求流批一体:是指...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。