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 参数值 可以设置

相关推荐
龙仔72514 小时前
SQL Server 创建只读账号完整操作(分两种场景:SSMS图形界面 + T-SQL脚本)
数据库·sql·oracle
玖玥拾15 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
渣渣灰飞16 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
Csvn18 小时前
📊 SQL 入门 Day 2:排序与去重 — 让数据有序呈现
sql
AskHarries18 小时前
PostgreSQL 还是 MySQL
mysql·postgrel
Leighteen19 小时前
Redis与MySQL双写一致性:从问题根源到工程落地
数据库·redis·mysql
龙仔72520 小时前
SQL Server 批量多库只读账号一键脚本(带逐行注释完整脚本 + 分段逐句详细解释)
服务器·数据库·sql·sqlserver·dba
pycharm使用学习21 小时前
NCSS 2025安装教程(附安装包)NCSS 数据分析环境配置图文教程
数据库·mysql·其他·数据分析
醉城夜风~21 小时前
MySQL 常用内置函数全解:字符串、数值、日期、流程控制实战教程
数据库·mysql