mysql之sql_mode参数

2023-11-09

       参数sql_mode用来设置mysql中语法校验的严格程度,用此来保证数据的准确性。常用的可选值说明如下:

参数值 说明
ONLY_FULL_GROUP_BY GROUP BY聚合查询中如果SELECT中的列没在GROUP BY子句中,那么这个SQL是非法的
NO_AUTO_VALUE_ON_ZERO

在自增列上插入数值0时,实际插入的值为0。如果不设置该模式则在自增列上插入数值0或NULL时都会插入实际自增的值

NO_ENGINE_SUBSTITUTION 指定的存储引擎不存在则报错,如果不设置该模式则在指定的存储引擎不存在时使用InnoDB引擎
ANSI 宽松模式,会更改不符合条件的数据。也就是说数据如果不符合定义的类型或长度,会对数据的类型进行调整或截断保存,报warning警告。对于以除数为0的计算结果为值的字段值,数据库会用NULL值代替
STRICT_TRANS_TABLES 支持事务的引擎(如InnoDB)严格检查数据类型,不支持事务的引擎(如MyISAM)批量操作时,根据第1条数据是否成功决定后面的数据类型检查失败时是否使用宽松模式处理。也就是说:如果第1条执行成功,那么后面的操作即使数据类型检查失败也使用宽松模式处理;如果第1条执行失败,那么即使后面的操作数据类型检查成功也不执行

STRICT_ALL_TABLES

TRADITIONAL

支持事务的引擎(如InnoDB)严格检查数据类型,不支持事务的引擎(如MyISAM)批量操作时,数据类型检查失败的那条数据之后的所有数据操作都不执行,即使数据类型检查失败的那条数据之后有检查成功的数据,这些成功的数据也不执行
NO_ZERO_IN_DATE 在STRICT模式下,日期中的月、日不能为0,但0000-00-00除外
NO_ZERO_DATE 在STRICT模式下,日期不能设置为0000-00-00
ERROR_FOR_DIVISION_BY_ZERO 除数不能为0,如果不设置该模式则返回NULL
NO_AUTO_CREATE_USER 禁止创建密码为空的新用户
PIPES_AS_CONCAT 将"||"视为字符串的连接操作符而非或运算符
ANSI_QUOTES 可以用双引号来括数据库的对象名,比如表名,列表,这样就不能用双引号来引用字符串了

一、查看

       方式1

select@@sql_mode;

       方式2

show variables like 'sql_mode';

 

       方式3

select@@global.sql_mode;

        此方式用来查看全局sql_mode。

二、修改

       方式1

set sql_mode ='NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE'

       此方式只会修改当前会话的sql_mode,会话关闭再重新打开时失效。

       方式2

set global sql_mode ='NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE'

       此方式在当前mysql服务中生效,重启mysql服务后失效。

       方式3

       在my.cnf中添加如下配置,此种配置方式为永久生效。

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql之sql_mode参数 的相关文章

随机推荐

  • CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling ‘cublasSgemm’

    运行transformer模型是报错如题 1 减小batch size 原因是调用cublas函数时会生成句柄 占用一定的内存 确保剩余内存够使用 2 gpu驱动版本和cuda torch版本的匹配问题 低版本的gpu驱动 尝试换成11 0
  • 怎么上传本地项目或文件到SVN服务器

    实验需要将本地的文件上传到SVN的doc文件夹下 在桌面右击 TortoiseSVN gt Repo brower gt 输入你的仓库的url gt 输入用户姓名和密码 即可访问到svn 右键点击Add File即可添加要上传的文件 如下图
  • c++文件输入与输出

    基于流的文件IO 头文件 ofstream 写文件 ifstream 读文件 fstream 读写文件 using namespace std 打开文件 std ifstream fin xxx txt std ifstream fin f
  • 几个更优雅、更高效 Pythonic 代码写法!

    本文分享几个鲜为人知的 Pythonic 技巧 这些技巧非常有用 但并不广为人知 通过学习和使用这些技巧 可以帮你节省时间和精力 并使你的代码更加优雅和高效 1 三元运算符 三元运算符是 if else 语句的简写 语法是value if
  • Flink自定义HBaseSink类

    文章目录 HBaseCell类 HBaseSink类 HBaseCell类 package com vic flink entity import lombok Data import java util HashMap Data publ
  • cookie原理详解及单点登录原理

    cookie一般是用来客户端存储信息的 用它可以进行用户信息的检验 实际案例 单点登录 cookie的原理 第一次访问网站的时候 浏览器发出请求 服务器响应请求后 会将cookie放入到响应请求中 通过Set Cookie字段 在浏览器第二
  • awk脚本

    编写awk脚本 1 从 Hello World 开始 we create a file named test that contains a single line This example shows a script that cont
  • Springboot整合MyBatisPlus框架操作MySQL

    1 MyBatis Plus概述 MyBatis Plus opens new window 简称 MP 是一个 MyBatis opens new window 的增强工具 在 MyBatis 的基础上只做增强不做改变 为简化开发 提高效
  • Synchronized实现原理

    查看带有Synchronized语句块的class文件可以看到在同步代码块的起始位置插入了moniterenter指令 在同步代码块结束的位置插入了monitorexit指令 JVM需要保证每一个monitorenter都有一个monito
  • SQL Server与Java的类型对应,Char用setString设值

    表列出了基本 SQL Server JDBC 和 Java 编程语言数据类型之间的默认映射 SQL Server 类型 JDBC 类型 java sql Types Java 语言类型 bigint BIGINT long timestam
  • Java实现桶排序

    桶排序 使用额外空间 以空间换时间思想 因此时间复杂度为O n m 1 1 基本思想 桶排序是所有排序算法中最快 也是最简单的排序算法 基本思想是在知道所有待排元素的范围后 准备和这个范围同样数量的桶 并将元素放在对应的桶中 如待排元素为
  • java焦点图_基于JavaScript实现焦点图轮播效果

    不管是高校的网站还是电商的页面 焦点图的切换和轮播应该是一项不可或缺的应用 今天把焦点图轮播制作的技术要点做下笔记 以供日后查看 一 结构层 HTML 焦点图的HTML结构很简单 就是一个父容器 id box 包含三个子容器 分别存放图片
  • lua:table转json字符串

    table转字符串 function table2JsonString objTable local jsonString jsonString local t type objTable if t number then jsonStri
  • harbor修改配置文件后重启

    docker compose down prepare docker compose up d 转载于 https www cnblogs com wang lei p 11540792 html
  • 自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面我们将分别介绍目录区别和build.gr

    http blog csdn net u012527560 article details 51752070 自从AndroidStudio更新到2 2 就有了CMake和传统JNI两种开发NDK的方法 主要就是在目录结构和build gr
  • 使用JSON

    JSON Javascript Object Notion Javascript对象表示法 JSON是Javascript对象表示法的一个子集 它必然使用了Javascrip对象表示法中的所有相同的规则和基础类型 JSON可以表示对象的实例
  • 实战wxPython:044 - 高级控件之HtmlWindow

    本文介绍如何在Python的GUI工具中嵌入HTML页面 wxPython的wx html和wx html2模块支持解析和显示HTML文件内容 wx html HtmlWindow对象是一个通用的HTML浏览器 但不是一个全功能的浏览器 所
  • Go语言基础整理集合

    什么是Go语言 go语言是一门静态强类型语言 什么是动态和静态 可以理解为解释型和编译型 python 动态解释型语言 一边编译一边执行 golang java 静态编译型语言 必须先将文件编译成可执行文件后才能运行 什么是强类型语言 强制
  • qt ini 文件读写以及 节点的遍历

    qt 的配置文件一般都用ini文件 在此我记录下使用方法 ini 组成简介 INI文件由节点 键 值组成 如下面代码中 fileSetting gt setValue fileSave savePath filePath 节点 fileSa
  • mysql之sql_mode参数

    参数sql mode用来设置mysql中语法校验的严格程度 用此来保证数据的准确性 常用的可选值说明如下 参数值 说明 ONLY FULL GROUP BY GROUP BY聚合查询中如果SELECT中的列没在GROUP BY子句中 那么这