MySQL的SQL MODE

目录

举例:

--常见SQL mode  


--mysql8 sql_mode 官方文档
https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html

--查看全局的SQL MODE

select @@global.sql_mode;

--查看当前会话的SQL MODE

select @@session.sql_mode;

--运行时修改全局的SQL mode

set global sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";

--修改当前会话的SQL mode

set session sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";

--删除当前会话的SQL mode

set session sql_mode = sys.list_drop(@@session.sql_mode,'ONLY_FULL_GROUP_BY');

--增加SQL mode模式

set session sql_mode = sys.list_add(@@session.sql_mode,'PIPES_AS_CONCAT');
举例:
CREATE TABLE test_stu (
    a VARCHAR(20),
    b VARCHAR(255)
);
INSERT INTO test_stu(a, b) VALUES('test1', 'test11');

 这是添加sql mode之前的查询结果

添加PIPES_AS_CONCAT模式

set session sql_mode = sys.list_add(@@session.sql_mode,'PIPES_AS_CONCAT');

添加后查询结果

--常见SQL mode  

PIPES_AS_CONCAT            :将"||"视为字符串的连接操作符而非或运算符,与Oracle数据库的处理方式相同。
STRICT_TRANS_TABLES        :在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制。
REAL_AS_FLOAT              :把REAL类型看成FLOAT类型
ANSI_QUOTES                :启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符。
IGNORE_SPACE               :函数名称和括号之间允许有空格。
ONLY_FULL_GROUP_BY         :要求SELECT语句中的列要么出现在GROUP BY子句中,要么被包含在聚合函数内。如果列没有在GROUP BY子句中出现,且又不是聚合函数的一部分,则该SQL语句不合法。
NO_AUTO_VALUE_ON_ZERO      :影响自增长列的插入。通常插入0或NULL时会生成下一个自增长值,但启用此模式后,如果想明确插入值为0,则需要使用此模式。
NO_ZERO_IN_DATE            :在严格模式下,不允许日期和月份为零。
NO_ZERO_DATE               :设置该值后,数据库不允许插入零日期,如果尝试插入零日期会抛出错误而不是警告。
ERROR_FOR_DIVISION_BY_ZERO :在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如果不设置此模式,那么数据被零除时MySQL返回NULL。
NO_AUTO_CREATE_USER        :禁止GRANT创建密码为空的用户。
NO_ENGINE_SUBSTITUTION     :如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常。
NO_BACKSLASH_ESCAPES       :用于控制是否允许在SQL语句中使用反斜杠(\)作为转义字符。当设置为0时,表示不允许使用反斜杠作为转义字符;当设置为1时,表示允许使用反斜杠作为转义字符。
ANSI                       :等同于REAL_AS_FLOAT、PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、ONLY_FULL_GROUP_BY几个模式的组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/355241.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 基础知识点(蓝桥杯python科目个人复习计划27)

今日复习内容:基础算法中的递归 1.介绍 递归:通过自我调用来解决问题的函数递归通常把一个复杂的大问题层层转化为一个与原问题相似的规模较小的问题来解决 递归要注意:(1)递归出口;(2&#x…

Django知识随笔

目录 1.如何再ajax中传输post数据? 1.如何再ajax中传输post数据? 在ajax传递的那个网址,会调用你路由的视图函数,在视图函数上面加一句 csrf_exempt 。写上之后会有提示让你导入类。

[嵌入式系统-4]:龙芯1B 开发学习套件-1-开发版硬件介绍

目录 前言: 一、龙芯 1B 开发学习套件简介 1.1 概述 二、龙芯1B 200开发板硬件组成与接口介绍 2.1 概述 2.2 核心板 2.2.1 CPU 2.2.2 什么是核心板 2.2.3 龙芯1B 200核心板 2.2.4 龙芯1B核心板的接口定义 2.3 开发板 2.3.1 龙芯1B0200开发板 2.3.2 龙芯…

微信小程序Skyline在手机端不渲染的问题之一及其解决方式

问题:电脑端是skyline渲染,手机端是webview渲染?如何解? 开发者工具 当前渲染模式:Skyline 当进行预览时手机端却是: 请注意看轮播图的显示情况 请注意看轮播图的显示情况 请注意看轮播图的显示情况 从轮播图上来看,手机端是webview渲染…

YOLOv8实例分割实战:TensorRT加速部署

课程链接:https://edu.csdn.net/course/detail/39273 PyTorch版的YOLOv8支持高性能实时实例分割方法。 TensorRT是针对英伟达GPU的加速工具。 本课程讲述如何使用TensorRT对YOLOv8实例分割进行加速和部署,实测推理速度提高3倍以上。  采用改进后的t…

【MCAL】TC397+EB-tresos之GPT配置实战 - 定时器

本篇文章介绍了在TC397平台使用EB-tresos对GPT驱动模块进行配置的实战过程,不仅介绍了使用GTM来实现定时器的方案,还介绍了基于GPT12来实现连续定时器的实例。因为GTM是德国博世公司开发的IP,而英飞凌的芯片集成了这个IP,并在这个基础上搭建了…

SpringMVC(十)拦截器

一、拦截器的配置 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现Handlerinterceptor SpringMVC中的拦截器必须在SpringMVC中的配置文件中进行配置 服务器的三大组件:servlet、filter(过滤器:在浏览器和目标资源之间进行过滤,我们从浏览器发送的…

Nodejs前端学习Day5

苦其心志,劳其筋骨 文章目录 前言一、处理路径问题二、path路径模块总结 前言 继续fs 一、处理路径问题 在使用fs模块操作文件时,如果提供的操作路径是以./或…/开头的相对路径时,很容易出现路径动态拼接错误的问题 原因:代码在…

深度强化学习(王树森)笔记07

深度强化学习(DRL) 本文是学习笔记,如有侵权,请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接:https://github.com/wangshusen/DRL 源代码链接:https://github.c…

内网安全:Exchange服务

目录 Exchange服务 实验环境 域横向移动-内网服务-Exchange探针 一. 端口扫描 二. SPN扫描 三. 脚本探针(还可以探针是否有安全漏洞) 域横向移动-内网服务-Exchange爆破 一 .BurpSuite Intruder模块爆破 域横向移动-内网服务-Exchange漏洞 CVE-2020-17144 Exchange R…

嵌入式Linux系统下的智能家居能源管理系统的设计与实现

大家好,今天给大家介绍嵌入式Linux系统下的智能家居能源管理系统的设计与实现,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 随着物联网技术的不断发展,…

19. 删除链表的倒数第 N 个结点(力扣LeetCode)

文章目录 19. 删除链表的倒数第 N 个结点题目描述将删除倒数第n个节点转化为删除第n个节点双指针 19. 删除链表的倒数第 N 个结点 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:hea…

(28)Linux 信号保存 信号处理 不可重入函数

首先介绍几个新的概念: 信号递达(Delivery):实际执行信号的处理动作。信号未决(Pending):信号从产生到递达之间的状态。信号阻塞(Block):被阻塞的信号产生时将保持在未决状态,直达解除对该信号的阻塞,才执…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之CheckboxGroup组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、CheckboxGroup组件 提供多选框组件,通常用于某选项的打开或关…

【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word等office文件

1、Office Web(微软的开发接口) 优点 没有 Office也可以直接查看Office 文件适用于移动端、PC无需下载文件就可以在浏览器中查看 <iframe src"文档地址" frameborder"0" /> const docUrl 外网可预览的地址 const url encodeURIComponent(docUrl…

python零散学习

__name__和__main__关系 python函数入口 每个模块都有一个 __name__ 属性&#xff0c;当其值是 __main__ 时&#xff0c;表明该模块自身在运行&#xff08;此时__name____main__&#xff09;&#xff0c;否则是被引入&#xff08;此时__name__自身的模块名称&#xff09;。 变…

深度强化学习(王树森)笔记06

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

SpringBoot整合Quartz任务,java对任务创建、删除、修改、查询

SpringBoot整合Quartz定时任务 1、定时任务相关概念2、SpringBoot集成Quartz2.1、Quartz相关表2.2、pom.xml2.3、application.yml2.4、java对任务增删改查2.4.1、common相关配置类2.4.2、pojo类2.4.3、task类2.4.4、Controller类 3、一些理解3.1、Quartz的集群原理以及配置&…

Android 基础技术——Bitmap

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于 Bitmap Bitmap 内存如何计算 占用内存 宽 * 缩放比例 * 高 * 缩放比例 * 每个像素所占字节 缩放比例 设备dpi/图片所在目录的dpi Bitmap加载优化&#xff1f;不改变图片质量的情况下怎么优化&am…

AlmaLinux上安装Docker

AlmaLinux上安装Docker 文章目录 AlmaLinux上安装Docker一、前言二、具体步骤1、Docker 下载更新系统包索引&#xff1a;添加Docker仓库&#xff1a;安装Docker引擎&#xff1a; 2、Docker服务启动启动Docker服务&#xff1a;设置Docker开机自启&#xff1a; 3、Docker 安装验证…