MySql的sql_mode

news2024/11/17 20:31:05

文章目录

  • 简介
  • 查看
    • 命令
    • 配置文件
  • 设置
    • 命令
    • 配置文件
  • 常用的模式
    • ONLY_FULL_GROUP_BY
    • NO_AUTO_VALUE_ON_ZERO
    • STRICT_TRANS_TABLES
    • NO_ZERO_IN_DATE
    • NO_ZERO_DATE
    • ERROR_FOR_DIVISION_BY_ZERO
    • NO_AUTO_CREATE_USER
    • NO_ENGINE_SUBSTITUTION
    • PIPES_AS_CONCAT
    • ANSI_QUOTES

专栏目录请点击

简介

  • 他是一种语法校验规则
  • sql_mode是个很容易被忽视的变量,默认是空值。在这种设置下允许一些非法操作,比如允许一些非法数据的插入。
  • 在生产环境必须将这个值设为严格模式,所以开发、测试环境的数据也必须要设置。

查看

命令

SELECT @@global.sql_mode;

或者

SELECT @@session.sql_mode;

在这里插入图片描述

配置文件

我们还可以打开相应的配置文件进行查看 点击

  • 我们主要看sql_mode这个选项

设置

命令

我们可以通过命令

SET GLOBAL sql_mode=xxx;

或者

SET SESSION sql_mode=xxx;

来修改mode的值

配置文件

或者我们还可以修改配置文件

sql_mode=ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO

常用的模式

ONLY_FULL_GROUP_BY

对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中

NO_AUTO_VALUE_ON_ZERO

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

STRICT_TRANS_TABLES

如果一个值不能插入到一个事务中,则中断当前的操作,对非事务表不做限制

NO_ZERO_IN_DATE

不允许日期和月份为零

NO_ZERO_DATE

mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告

ERROR_FOR_DIVISION_BY_ZERO

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

NO_AUTO_CREATE_USER

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

NO_ENGINE_SUBSTITUTION

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

PIPES_AS_CONCAT

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

ANSI_QUOTES

不能用双引号来引用字符串,因为它被解释为识别符

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【通过Cpython3.9源码看看列表到底是咋回事】

列表结构 typedef struct {PyObject_VAR_HEAD/* Vector of pointers to list elements. list[0] is ob_item[0], etc. */PyObject **ob_item;/* ob_item contains space for allocated elements. The number* currently in use is ob_size.* Invariants:* 0 < ob_siz…

vulnhub DC:3.2渗透笔记

kali ip :192.168.20.130 靶机下载地址:https://www.vulnhub.com/entry/dc-32,312/ 信息收集 扫描靶机ip以及开放端口 开放了80端口访问一下 Welcome to DC-3. This time, there is only one flag, one entry point and no clues. To get the flag, youll obviously have …

【Java版oj】day29求正数数组的最小不可组成和、有假币

目录 一、求正数数组的最小不可组成和 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、有假币 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码…

三、用户与权限管理

五、角色管理 1、角色的理解 引入角色的目的时方便管理相同权限的用户。只需要给相同权限的用户分配角色即可&#xff0c;而不需要分配具体的权限 2、创建角色 创建角色使用 CREATE ROLE 语句&#xff0c;语法如下&#xff1a; CREATE ROLE role_name[host_name] [,role_…

干货分享 | 常用车载总线CAN、CANFD、LIN、FlexRay 和 Ethernet概述

随着现代汽车的电子化程度越来越高&#xff0c;汽车总线系统也变得越来越复杂。汽车总线测试是一项重要的任务&#xff0c;它有助于确定车辆电子系统中的问题&#xff0c;并保障车辆的安全和可靠性。本文将介绍五种常见的汽车总线系统和相关的测试工具。 CAN总线 …… 控制器…

传输线的物理基础(八):用近似值和二维场计算特性阻抗

设计一个特定的目标特性阻抗实际上是调整线宽、电介质厚度和介电常数的问题。如果我们知道传输线的长度和导体周围材料的介电常数&#xff0c;并且我们可以计算出特征阻抗&#xff0c;我们就可以使用上面的关系来计算所有其他参数。 当然&#xff0c;每一种不同类型的横截面几…

kaggle竞赛 - Stable Diffusion - Image to Prompts

演绎提示&#xff0c;生成我们的“高度详细&#xff0c;锐利的焦点&#xff0c;插图&#xff0c;宏伟&#xff0c;史诗”图像的3d渲染 1.比赛目标 这个竞赛的目标不是从文本提示生成图像&#xff0c;而是创建一个模型&#xff0c;可以在给定生成图像的情况下预测文本提示&…

曲线平滑算法:三次Hermite曲线生成

目录 1.三次Hermite曲线的参数方程 2. 三次Hermite曲线的绘制 Hermite曲线是通过给定曲线的两个端点的位置矢量、以及两个端点处的切线矢量、来描述曲线的&#xff0c;如图1所示。这里先对Hermite曲线进行数学公式推导&#xff0c;然后讲述如何绘制Hermite曲线。&#xff08;这…

【Ansys】什么软件模块是DS,它和workbench、mechanical的区别在哪里?

一、DesignSpace和workbench 早期的Workbench称之为DesignSpace&#xff0c;更偏向于建模。 现在DS是license的一种&#xff0c;而分析的模块在11中称之为Simulation&#xff08;Design Simulation&#xff09;&#xff0c;在12中改名为Mechanical。 所以&#xff0c;你可以…

SpringBoot整合RabbitMQ(六种工作模式介绍)

介绍 RabbitMQ是一种消息中间件&#xff0c;用于处理来自客户端的异步消息。服务端将要发送的消息放入到队列池中。接收端可以根据RabbitMQ配置的转发机制接收服务端发来的消息。 RabbitMQ依据指定的转发规则进行消息的转发、缓冲和持久化操作&#xff0c;主要用在多服务器间或…

Unity开发数字化看板-通用的设备运动同步

通用的设备运动同步 通过获取实时采集运动位置&#xff0c;发送到unity程序中&#xff0c;通过比例运算&#xff0c;转换成模型的运动位置&#xff0c;实现虚实同步。 在工业设备中&#xff0c;复杂的运动进行分析、分解&#xff0c;最本质的的运动就是平移和转动&#xff0c…

美团到店暑期实习Java一面

目录1.rabbitmq如何避免消息丢失 &#xff08;三个阶段&#xff09;2.如何保证消息的顺序性3.如何保证消息不被重复消费4.缓存与数据库的不一致性5.redis的过期策略和内存淘汰策略6.简单说下LRU的实现7.用原生redis实现分布式锁&#xff0c;锁误删的情况8.锁续期如何去考量9.缓…

MySQL-----库的操作

文章目录前言一、创建数据库二、创建数据库实例三、字符集和校验规则1.查看系统默认字符集以及校验规则.2.查看数据库支持的字符集3.查看数据库支持的字符集校验规则4.校验规则对数据库的影响四、操纵数据库1.查看数据库2.显示创建语句4.修改数据库5.删除数据库6.备份和恢复6.1…

Diffusion模型系列文章

DDPM 论文 扩散模型包括两个过程&#xff1a;前向过程&#xff08;forward process&#xff09;和反向过程&#xff08;reverse process&#xff09;&#xff0c;其中前向过程又称为扩散过程&#xff08;diffusion process&#xff09;&#xff0c;如下图所示&#xff0c;从x…

【音视频第8天】mediasoup拥塞控制【未完待续】

WebRTC的拥塞控制方式主要有以下几个&#xff1a;Transport-cc、BBR-congestion、remb&#xff08;BBR已被google从webrtc移除了&#xff09;。mediasoup支持Transport-cc和remb。 一、前言 实时通信的延时指标 视频服务质量指标 音视频服务质量与带宽之间的矛盾、实时性与服…

【微信小程序】初识微信小程序组件

作者简介&#xff1a;一名C站萌新&#xff0c;前来进行小程序的前进之路博主主页&#xff1a;大熊李子&#x1f43b; 一、组件的创建与引用 1.1 创建组件 在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建 components -> test 文件夹在新建的 components -> test…

NLP / LLMs中的Temperature 是什么?

ChatGPT, GPT-3, GPT-3.5, GPT-4, LLaMA, Bard等大型语言模型的一个重要的超参数 大型语言模型能够根据给定的上下文或提示生成新文本&#xff0c;由于神经网络等深度学习技术的进步&#xff0c;这些模型越来越受欢迎。可用于控制生成语言模型行为的关键参数之一是Temperature …

[译]自下而上认识Elasticsearch

注意:原文发表时间是13年,所以实现有可能与新版不一致. 原文地址:https://www.elastic.co/cn/blog/found-elasticsearch-from-the-bottom-up Introduction 在本系列文章中,我们从一个新的视角来看ElasticSearch.我们将从下往上,从抽象的底层实现到用户可见层,我们在向上移动的…

【JaveEE】网络编程之TCP套接字、UDP套接字

目录 1.网络编程的基本概念 1.1为什么需要网络编程 1.2服务端与用户端 1.3网络编程五元组 1.4套接字的概念 2.UDP套接字编程 2.1UDP套接字的特点 2.2UDP套接字API 2.2.1DatagramSocket类 2.2.2DatagramPacket类 2.2.3基于UDP的回显程序 2.2.4基于UDP的单词查询 …

免疫力低会怎么样 什么情况会导致免疫降低

都说免疫力是很重要的&#xff0c;它会我们健康的第一道防线&#xff0c;但是当免疫力降低的时候&#xff0c;会出现哪些情况&#xff1f;为什么免疫力会降低&#xff1f; 免疫力是人体的防御系统&#xff0c;就像是维持人体正常运转的军队。免疫力的高低&#xff0c;一定程度上…