当前位置: 首页 > news >正文

sql_mode

一、介绍

sql_mode 是 MySQL 用于控制 SQL 语法行为和数据校验规则的一个系统变量。它会影响:

  • 插入非法或不完整数据时是否报错

  • GROUP BY 的严格性

  • 日期和时间的处理方式

  • 是否允许 NULL 自动转换为 0


二、查看当前的 sql_mode

SELECT @@sql_mode;

三、 设置 sql_mode

(1)临时设置(当前会话):

SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO';

(2)永久设置(修改配置文件):
编辑 MySQL 配置文件(如 /etc/my.cnfmy.ini):

[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO

四、常见的 sql_mode 选项

模式名作用
STRICT_TRANS_TABLES严格模式,非法数据插入会报错
NO_ZERO_IN_DATE禁止日期中出现零值(如 2025-00-15
NO_ZERO_DATE禁止日期完全为零(如 0000-00-00
ONLY_FULL_GROUP_BYGROUP BY 必须包含所有未聚合字段
ERROR_FOR_DIVISION_BY_ZERO除以 0 会报错(非 NULL)
NO_ENGINE_SUBSTITUTION如果存储引擎无效则报错
ANSI_QUOTES把双引号当作标识符而非字符串


✅ 建议设置(适用于生产环境)

STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO

 

http://www.dtcms.com/a/235061.html

相关文章:

  • Cesium使用glb模型、图片标记来实现实时轨迹
  • 采用轮询的方式实现在线人数
  • PC端直接打印功能(包括两张图片合并功能)
  • NodeJS Koa 后端用户会话管理,JWT, Session,长短Token,本文一次性讲明白
  • evo precision evaluation
  • 【分治法 容斥原理 矩阵快速幂】P6692 出生点|普及+
  • virtualbox 如何虚拟机ip固定
  • DFT测试之TAP/SIB/TDR
  • AudioRelay 0.27.5 手机充当电脑音响
  • Python: 操作 Excel折叠
  • VTK如何让部分单位不可见
  • js树形菜单功能总结
  • excel数据对比找不同:6种方法核对两列数据差异
  • 三十四、面向对象底层逻辑-SpringMVC九大组件之FlashMapManager接口设计哲学
  • 一文学会《使用Auto CAD2020绘制Allegro PCB板框》
  • Excel 表格内批量添加前缀与后缀的实用方法
  • RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
  • cnn卷积神经变体
  • 若依添加添加监听容器配置(删除键,键过期)
  • 什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
  • [BJDCTF2020]Easy MD5 1
  • Excel 模拟分析之单变量求解简单应用
  • redhat系统中删除多余的硬盘
  • 深入解析:为什么 Redis 比 MySQL 快
  • Python----目标检测(YOLO简介)
  • 5G 核心网中 NF 选择机制:基于优先级、权重与负载分担的策略解析
  • 全球知名具身智能/AI机器人实验室介绍之AI FACTORY基于慕尼黑工业大学
  • day 46
  • Rust 开发环境搭建
  • 解决cocos 2dx/creator2.4在ios18下openURL无法调用的问题