mysql sql_mode数据验证检查

sql_mode 功能

sql_mode 会影响MySQL支持的sql语法以及执行的数据验证检查。通过设置sql_mode ,可以完成不同严格程度的数据校验,有效地保障数据准确性

sql_mode 严格模式 VS 宽松模式

宽松模式

比如,插入的数据不满足 表的数据类型,也可能接受,并且不报错,只会有警告而且。

一个字段设置 char(10),如果插入 1234567890ABC,会ABC会自动舍去,只保留1234567890,sql不报错的。

** 严格模式 ** 默认是严格模式

插入数据类型,不能隐式转换的,最终就会报错。

长度规定长度,会报错。

设置sql_mode

临时设置模式

set global sql_mode ='XXXX' ; ## 全局 重启mysql 服务 就失效

set session sql_mode='XXXX'; ## 当前会话 关闭会话 就失效
永久设置模式

windows 系统 设置 my.ini (一般位置 C:\ProgramData\MySQL\MySQL Server 5.7 | C:\ProgramData\MySQL\MySQL Server 8.0),

但 要重启 mysql 服务 才生效

linux /etc/my.cnf

生成环境,一般不能随便重启 mysql服务的,所有采用 临时设置方法 +永久设置方式 来解决线上问题。

查看mysql sql_mode

show variables like 'sql_mode';

select @@global.sql_mode;

select @@session.sql_mode;

select sql_mode

sql_mode 参数值 可以设置

相关推荐
cheems95279 分钟前
【MySQL】SQL调优:数据库性能优化(一)
数据库·sql·mysql
中二病码农不会遇见C++学姐14 分钟前
文明6 Mod入门:三分钟学会用SQL制作第一个修改器
sql·游戏
远方160920 分钟前
113-Oracle database26ai rpm安装和适配生产
大数据·数据库·sql·oracle·database
qq_2975746730 分钟前
MySQL迁移到瀚高数据库 常用转换函数对照表(附XML示例,直接复用)
xml·数据库·mysql
Mr_Xuhhh38 分钟前
MySQL复合查询详解:多表查询、子查询与合并查询
数据库·sql·mysql
Big Cole1 小时前
PHP 面试:MySQL 核心问题之索引与优化
mysql·面试·php
予枫的编程笔记2 小时前
【MySQL修炼篇】从S锁/X锁到Next-Key Lock:MySQL锁机制硬核拆解
mysql·锁机制·行锁·间隙锁·数据库运维·数据库性能优化·死锁排查
Mr_Xuhhh4 小时前
MySQL核心知识梳理:从连接到查询的完整指南
数据库·sql·mysql
wsxlgg4 小时前
MySQL中count(*)、count(1)、count(字段)的区别
数据库·mysql
_F_y10 小时前
MySQL用C/C++连接
c语言·c++·mysql