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

MySQL字段设置的varchar长度小于数据长度自动截取丢弃超出的长度而不是报错?

MySQL字段设置的varchar长度小于数据长度自动截取丢弃超出的长度而不是报错?

事情是这样的,我们一个订单表存放了商品的快照信息其中快照信息存储的是json格式商品信息,当查看订单是报错了,发现我们后端服务查询到订单的快照信息进行json转Java实体时报错了,是因为json格式错误,后竟发现json格式并不完整,而该字段存储的字符串正好是设置的大小VARCHAR(4000) DEFAULT NULL

原来在数据库中,当数据长度超出字段设置的 VARCHAR 长度时,行为会取决于具体的数据库系统和其配置。在MySQL中,这个行为受到 SQL模式(sql_mode) 的控制。

不严格模式 (默认):

在默认情况下,或者在非严格模式(NO_STRICT)下,当插入长度超出 VARCHAR 字段定义的字符串时,MySQL会自动截断超出的部分,并发出一个警告,而不是错误。这种行为允许操作继续执行,但不保证数据完整性。

严格模式(STRICT 模式)

当MySQL数据库设置为 严格模式(STRICT_TRANS_TABLES 或 STRICT_ALL_TABLES) 时,如果尝试插入或更新超过设定长度的数据,将会导致错误,并阻止该事务进行。这保证了数据的完整性,因为不允许存储部分数据。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【JavaScript】深入理解 `let`、`var` 和 `const`
  • 文件包涵条件竞争(ctfshow82)
  • 基于微信小程序+SpringBoot+Vue的美食推荐平台(带1w+文档)
  • 音乐曲谱软件Guitar Pro 8.2 for Mac 中文破解版
  • JavaScript性能优化与调试
  • Vue前端页面嵌入mermaid图表--流程图
  • 探索二进制翻译,openKylin成功在RISC-V平台运行X86架构软件!
  • 李宏毅 深度学习 Deep 学习记录
  • 交叉编译工具链整理
  • 『 Linux 』信号的写入与保存
  • java课程设计项目之图书管理系统
  • Android APP CameraX应用(02)预览流程
  • Linux权限维持篇
  • 创业团队如何选择DevOps工具?
  • 计算机网络知识-面试点1
  • Android Studio:GIT提交项目到远程仓库
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • JavaScript的使用你知道几种?(上)
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Promise初体验
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • redis学习笔记(三):列表、集合、有序集合
  • TCP拥塞控制
  • 回顾2016
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 简单数学运算程序(不定期更新)
  • 近期前端发展计划
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 我建了一个叫Hello World的项目
  • 无服务器化是企业 IT 架构的未来吗?
  • 用Visual Studio开发以太坊智能合约
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​学习一下,什么是预包装食品?​
  • # Redis 入门到精通(一)数据类型(4)
  • #Datawhale AI夏令营第4期#AIGC文生图方向复盘
  • #在 README.md 中生成项目目录结构
  • #职场发展#其他
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (13):Silverlight 2 数据与通信之WebRequest
  • (39)STM32——FLASH闪存
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .NET的数据绑定
  • .NET多线程执行函数
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET轻量级ORM组件Dapper葵花宝典
  • .stream().map与.stream().flatMap的使用
  • //TODO 注释的作用