MySQL的严格模式和非严格模式

mysql 大小写问题和非严格模式 mysql select 语句,我们输入不管大小写都能查询到数据,例如:输入 aaa 或者 aaA 、AAA 都能查询同样的结果,说明查询条件对大小写不敏感。 阅读详情

1. 严格模式

  • 核心概念
    MySQL 会严格执行数据校验规则,拒绝任何不符合字段定义或约束的操作,并抛出明确的错误,强制要求开发者处理异常。

  • 设计目标
    保证数据的一致性和合法性,避免隐式数据转换或截断导致的脏数据问题。

  • 典型行为

    • 插入或更新的数据不符合字段类型、长度、范围时,直接报错(如字符串超出 VARCHAR 长度)。

    • 对 NULL 值的处理:若字段定义为 NOT NULL 且无默认值,插入 NULL 会报错。

    • 对日期、时间等特殊类型的值进行严格校验(如拒绝 '2023-02-30' 这类非法日期)。

  • 适用场景
    生产环境、金融系统、需要高数据质量的业务,或希望从数据库层面强制约束数据的场景。

2. 非严格模式

  • 核心概念
    MySQL 对非法或异常数据采取宽松处理策略,尝试自动修正(如截断、转换)或静默接受,仅生成警告,操作仍会继续执行。

  • 设计目标
    提高兼容性,允许部分数据异常的操作成功,避免因小问题中断整体业务流程。

  • 典型行为

    • 自动截断超长字符串(如 VARCHAR(3) 字段插入 'abcd' 变为 'abc')。

    • 尝试转换无效数据(如将字符串 'abc' 插入 INT 字段转为 0)。

    • 对非法日期可能转为 '0000-00-00' 或零值。

  • 适用场景
    旧系统迁移、临时数据处理、兼容性要求高的场景,或对数据质量容忍度较高的环境。

3. 核心逻辑对比

特性严格模式非严格模式
数据校验严格拒绝非法数据,直接报错宽松处理,尝试修正或静默接受
错误类型抛出 ERROR,操作中断生成 WARNING,操作继续执行
数据一致性高(确保数据完全合法)低(可能存储脏数据)
开发体验需显式处理异常,代码更健壮开发便捷,但可能隐藏潜在问题

4. 为什么需要两种模式?

  1. 数据质量 vs 灵活性

    • 严格模式适合对数据准确性要求高的场景(如订单金额、用户身份证号)。

    • 非严格模式适合快速迭代或容忍少量数据噪声的场景(如日志记录、临时分析)。

  2. 历史兼容性
    旧系统可能依赖 MySQL 的隐式转换逻辑,升级时需逐步迁移到严格模式。

洛达开发--AB1585 PC 工具介绍 洛达常用的PC开发工具包括三款:1)IOT_Flash_Tool是固件烧写工具,支持USB/UART接口下载,需通过断电重启完成烧录;2)EPT是图形化PinMux配置工具,适用于MT25x3/MT768x等芯片的引脚复用设置;3)ATK是综合开发套件,包含日志工具、配置工具、OTA工具和实验室测试工具等组件。这三款工具分别针对固件烧录、硬件配置和系统调试等不同开发环节,形成完整的开发工具链。 阅读详情

相关推荐

【通过STM32CubeMx配置LWIP+FreeRTOS并通过Socket实现TCP_Client/Sever】

生成KEIL工程之后,勾选上use MicroLIB,代码上暂时无需做其他修改,编译下载。由于使用了FreeRTOS,因此系统的TimeBase Source修改成TIM1。在CubeMx上面选择NUCLEO-F429ZI开发板,并采用默认配置。打开电脑命令行,去ping这设置好的IP,能够实现Ping通。使能LWIP,并且先禁用DHCP,设置好静态IP。修改defaultTask的栈大小。Platform选择LAN8742。修改堆栈大小,生成工程。使能FreeRTOS。

qq_42617357的博客 6111

mysql相关

mysql的严格模式、索引、存储结构、触发器

qq_57686163的博客 1714

当知识图谱遇见多模态:突破文本界限的智能认知革命

本文探讨了知识图谱与多模态技术的融合,揭示了其在医疗诊断、文化保护等领域的革命性应用。通过图神经网络、对比学习框架和跨模态注意力机制等技术,实现了文本、图像和音频数据的智能关联与认知。文章还分享了在Neo4j等图数据库中的实践案例和优化策略,为构建下一代智能认知系统提供了技术参考。

weixin_29197835的博客 463

MySQL数据库严格模式

MySQL数据库严格模式

qq_41470296的博客 2734

AI智能体项目管理框架agent-pm:从原理到实战的多智能体协作指南

在人工智能和自动化技术快速发展的今天,多智能体系统已成为实现复杂任务自动化的重要技术路径。其核心原理在于通过任务分解、角色分配和状态管理,让多个AI智能体像人类团队一样协同工作,从而突破单个模型的性能边界。这种架构的技术价值在于将软件工程中成熟的项目管理方法论引入AI领域,显著提升了自动化流程的可预测性、可观测性和可复用性。在实际应用场景中,多智能体协作框架能够高效处理从代码开发、文档撰写到数据分析等一系列任务,尤其适合需要多步骤、多专业协同的复杂项目。本文聚焦的agent-pm框架,正是这一领域的典型实践

weixin_42533910的博客 714

详解k-means++

一、概述 定义:k-means++是一种为k-means聚类算法选择初始值(或“种子”)的算法。它是NP-hard k-means问题的一种近似算法,它是一种避免标准k-means算法有时发现的较弱聚类的方法。 K-means与K-means++:原始K-means算法最开始随机选取数据集中K个点作为聚类中心,而K-means++按照如下的思想选取K个聚类中心:假设已经选取了n个初始聚类中心(0<n<K),则在选取第n+1个聚类中心时:距离当前n个聚类中心越远的点会有更高的概率被选为第n+1个聚

qq_42364307的博客 3万+

mysql 严格模式_MySQL sql_mode的坑及严格模式详解

ALLOW_INVALID_DATES : 字母意思允许不合法的数据。不对日期做全面的检查,仅仅检查月份是否在1~12之间,天数是否在1~31之间;这种模式可能是有用的对web应用来说去获取年,月,日在三个不同的字段并且准确存储用户的输入数值,没有验证数据的合法性。这种模式对date和datetime类型有作用,但是对timestamp类型不起作用,timestamp总是要合法的数据。当ALLOW...

weixin_35890852的博客 835

Feko仿真GPS微带天线学习笔记

为了优化方便,使参数变量化,所以定义几个变量在CADFEKO左侧浏览器中如图所示定义变量,如下表贴片的尺寸切角尺寸feed =-6.4馈电点距坐标原点的距离sub_w=45基板的宽度sub_d=45基板的长度sub_h=5基板的高度epsR=5.6介电常数损耗角正切。

qq_36521926的博客 3991

MySQL严格模式

在不同的数据库系统中,严格模式的行为可能略有不同,但一般来说,严格模式会使得数据库在执行操作时更加严格地处理数据类型,不允许隐式的数据类型转换。这意味着在严格模式下,数据库可能会因为错误而中止操作,这可能会影响性能,尤其是在批量操作中,因为一旦发现错误,整个操作可能会被回滚。:在严格模式下,如果操作中出现错误,可能会导致部分更新的情况,即只有部分行被插入或更新,这可能会导致数据不一致,从而影响性能和数据完整性。:在频繁查询的字段上创建索引,结合严格模式,确保索引的有效性,可以显著提升查询性能。

zhaoxingyu999的博客 1164

TT电机、310电机、370电机在智能小车与机器人中的性能对比与选型指南

本文深入对比了TT电机、310电机和370电机在智能小车与机器人项目中的核心性能差异。文章从尺寸、扭矩、转速、电压电流等关键参数入手,结合不同应用场景(如入门小车、竞技机器人、机械臂),提供了清晰的选型指南和驱动控制建议,帮助开发者根据项目需求选择最合适的电机方案。

weixin_29065015的博客 409

ADS与MATLAB数据互通全指南:从Snp文件导入到TXT导出完整流程

本文详细介绍了在射频与微波工程中,实现ADS与MATLAB高效数据互通的完整流程。核心内容包括利用SPOutput控件、数据显示窗口及测量方程等多种方法,将ADS仿真数据(如S参数)导出为Touchstone或TXT格式,并导入MATLAB进行深度分析与可视化;同时指导如何将MATLAB处理后的数据回灌至ADS,用于模型验证与协同仿真,旨在构建自动化、无损的数据交换工作流,提升工程师的工作效率。

pluto的博客 391

mysql中的严格模式和非严格模式

何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数据超过了定义的长度也不会报错。我认为这个对于编程来说没有任何好处,虽然我们尽量在代码中做数据校验。MySQL开启了严格模式从一定程序上来讲师对我们代码的一种测...

嗯哼的博客 7842

ElectrolyteGPT:首个电池电解液逆向设计的生成式 AI 系统 —— 算法原理与复现解析

数据驱动的重要性:1100 万→100 万的精心筛选,比单纯增大模型更有效领域适配:fLine 表示法、正则分词、化学感知的数据增强(SMILES randomization)都是关键小模型的力量:6M 参数在特定化学空间的表现,远超通用大模型在相同任务上的零样本能力条件生成的极限:10 维条件导致模型崩溃,提示我们需要更好的条件编码策略(如 diffusion guidance、RLHF-style 偏好优化)未来方向配方实验验证。

ASKCOS博客 123

mysql严格模式作用_详解mysql中的严格模式和非严格模式

今天在排查一个程序bug中发现,有一个sql写入的数据跟数据库中记录的不一致。通过排查,突然想起来可能是数值类型的问题,果真如此。字段设置的为tinyint(4),当写入超过127的数值后,数据库中都为记录为127。帮这个字段改为int(10)类型。改为之后,我思考,超过数值范围的提示错误或记录错误就可以避免这种问题了。通过搜索知道了mysql中有严格模式与非严格模式。下面详细介绍。何为MySQL...

weixin_39553423的博客 524

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

mysql 插入严格模式_详解mysql中的严格模式和非严格模式

今天在排查一个程序bug中发现,有一个sql写入的数据跟数据库中记录的不一致。通过排查,突然想起来可能是数值类型的问题,果真如此。字段设置的为tinyint(4),当写入超过127的数值后,数据库中都为记录为127。帮这个字段改为int(10)类型。改为之后,我思考,超过数值范围的提示错误或记录错误就可以避免这种问题了。通过搜索知道了mysql中有严格模式与非严格模式。下面详细介绍。何为MySQL...

weixin_33739480的博客 404

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mysql数据库管理-sql_mode参数(严格和非严格模式)

何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数据超过了定义的长度也不会报错。我认为这个对于编程来说没有任何好处,虽然我们尽量在代码中做数据校验。MySQL开启了严格模式从一定程序上来讲师对我们代码的一种测试,如果我们的开发环境没有开启严格模式在开发过程中也没有遇到错误,那么在上线或代码移植的时候将有可能出现不兼容的

oradbm的博客 2797

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql 严格模式 Strict Mode说明

本文将介绍mysql的严格模式strict mode,及使用这种模式需要注意的和与非严格模式在使用上的区别。建议开发环境使用严格模式以提高代码的质量及对数据的严谨性。

傲雪星枫 4万+

mysql 严格模式 Strict Mode

mysql 严格模式 Strict Mode 找到MySQL安装目录下的my.cnf(windows系统则是my.ini)文件 在sql_mode中加入STRICT_TRANS_TABLES则表示开启严格模式,如没有加入则表示非严格模式,修改后重启mysql即可 例如这就表示开启了严格模式: sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRA

newmiracle学习天地 539

关于mysql严格模式的开启、关闭

  由于项目中对一些默认值设置问题,以及种种原因,mysql数据库需要使用非严格模式开发(mysql最近的版本默认是开启严格模式的)。   linux下mysql服务下操作步骤是: 1、进入mysql服务   2、执行set操作修改,我们项目是直接设置为''     mysql> set global sql_mode=''; #这种方法修改,当前会话失效后...

weixin_30760895的博客 656

Ubuntu MySQL 5.7 关闭严格模式

MySQL的严格模式 简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数据超过了定义的长度也不会报错。 打开配置文件/etc/mysql/conf.d/mysql.cnf,添加如下代码 [mysqld] sql_mode=IGNORE...

weixin_34148456的博客 685

mysql 严格模式 Strict Mode说明(转)

转自https://www.cnblogs.com/jhcelue/p/7290243.html 1.开启与关闭Strict Mode方法 找到mysql安装文件夹下的my.cnf(windows系统则是my.ini)文件 在sql_mode中增加STRICT_TRANS_TABLES则表示开启严格模式。如没有增加则表示非严格模式,改动后重新启动mysql就可以 比如这就表示开启了严格模式...

weixin_30498921的博客 119

mysql严格模式的开启、关闭

关于mysql严格模式的开启、关闭   由于项目中对一些默认值设置问题,以及种种原因,mysql数据库需要使用非严格模式开发(mysql最近的版本默认是开启严格模式的)。   linux下mysql服务下操作步骤是: 1、进入mysql服务   2、执行set操作修改,我们项目是直接设置为''     mysql> set global sql_mode=''; #这种方法修改,当前会话失...

weixin_30708329的博客 347

国产数据库兼容过程中涉及的MySQL非严格模式

点击上方蓝字关注我在国产数据库兼容适配过程中,经常遇到因源数据库是MySQL,迁移至其他国产数据库后,因MySQL端兼容模式有非严格模式,导致适配过程过程中需要做调整。那么,MySQL主要的非严格模式小结如下:1、非严格模式参数MySQL的非严格模式指的是在MySQL配置中禁用严格模式(Strict Mode)的情况下执行的SQL。在非严格模式下,MySQL会对某些数据插入、更新和比较操作执行隐式...

gjc592的博客 712

php mysql 严格模式,mysql中的严格模式_MySQL

bitsCN.commysql中的严格模式很多集成的PHP环境(PHPnow WAMP Appserv等)自带的MySQL貌似都没有开启MySQL的严格模式,何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非严格模式下MySQL不会报错,同样如果定义了char或varchar类型的字段,当写入或更新的数...

weixin_30248619的博客 256
下一篇: 一条SQL查询语句是如何执行的?
java烤冷面
博客等级 码龄4年 177粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值