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

相关推荐
祝威廉43 分钟前
四条语句跑完机器学习:让模型成为一个 SQL 函数
人工智能·sql·机器学习
无忧.芙桃1 小时前
MySQL数据库原理与实践(四):基本查询
大数据·数据库·mysql
han_hanker1 小时前
SQL语法 , BETWEEN ... AND ...,比较运算符
前端·javascript·sql
爱喝水的鱼丶1 小时前
SAP-ABAP:SELECT大数据量查询性能调优——避免嵌套循环、减少数据库交互的核心方案
开发语言·数据库·sql·性能优化·sap·abap·erp
三8442 小时前
get方法/post方法/SQL注入文字型/数字型
数据库·sql·mysql
啦啦啦啦啦zzzz3 小时前
oat++框架应用之do、dao、service
服务器·c++·mysql·oatpp
暖和_白开水3 小时前
数据分析agent(十三_5):meta_demo:mysql
mysql·数据挖掘·数据分析
Lucifer三思而后行13 小时前
Veeam 备份 Oracle RAC 失败,是归档删除脚本的锅!
sql
暖和_白开水15 小时前
数据分析agent(十三_3):docker mysql容器镜像服务的异常错误
mysql·docker·容器
互联网中的一颗神经元18 小时前
小白python入门 - 25. SQL 与表设计入门
数据库·python·sql