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

相关推荐
CCIE-Yasuo38 分钟前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶2 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
herinspace5 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
xixingzhe26 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手6 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛6 小时前
MySQL表的连接
数据库·mysql
bksczm7 小时前
MySQL之存储引擎
数据库·mysql
计算机毕设定制辅导-无忧学长8 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
大模型最新论文速读8 小时前
text-to-sql:从学术玩具到生产落地
数据库·sql
Decay__9 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构