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

Sql 异常 + Error

目录

1、Sql 异常

1、SQL Error

1、 Out of sort memory,consider increasing server sort buffer size

2、MySQL排序规则不同关联报错

3、MySQL ....'LIMIT 15'

4、MySQL:Data truncation: Invalid JSON text

5、MySQL:Duplicate entry ‘xx‘ for key ‘xxxx.PRIMARY‘ 

6、Mongdb:com.mongodb.MongoQueryException:....'Regular expression is invalid:....'

7、在MyBatis-Plus XML中使用for循环插入数据,如果数据量太大可能会存在性能问题和内存溢出等问题


1、Sql 异常

1、SQL Error

1、 Out of sort memory,consider increasing server sort buffer size

...- SQL Error: 1038,SQLState:HY001
...- Out of sort memory,consider increasing server sort buffer size

网上解决方案:

1、设置sort_buffer_size大小。测试完,不好用。

SET GLOBAL sort_buffer_size = 1024*1024;
SET SESSION sort_buffer_size = 1024*1024;show variables like '%sort_buffer_size%'; 

2、优化SQL语句

3、我遇到的情况是创建MySQL数据库,选择的排序规则:utf8mb4_0900_ai_ci,经过SQL语句修正库和字段排序规则为utf8mb4_general_ci后,测试还是有此问题。

--重新创建数据库,选择排序规则utf8mb4_general_ci。解决问题。

4、MySQL版本大于8.0.17且小于8.0.28的会存在此问题,此问题在8.0.28版本已修复

2、MySQL排序规则不同关联报错

..- Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='

网上解决方案:

 COLLATE 的方式转换使得排序规则相同。SQL语句后,增加COLLATE utf8mb4_general_ci

3、MySQL ....'LIMIT 15'

现象:Mybatis-plus框架查询拼接2次LIMIT 15

### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: You have an errorin your SQL syntax;  check the manual that corresponds to your MySQL server version forthe right syntax to use near 'LIMIT 15' at line 1原因:
此错误,Mybatis-plus框架中分页的@Bean被注入多次,一次是当前项目定义的@Bean 分页,
还有是引入的依赖jar中的@Bean 分页
解决方案:去掉一个@Bean分页配置

4、MySQL:Data truncation: Invalid JSON text

### Error updating database. Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: 
Invalid JSON text: "Invalid value." at positopn.....错误原因,数据库中的字段需要json类型的数据,非json类型的数据时就会报此类错误!
建议打断点查看要插入数据库的json数据
==>java  byte 类型 数据:X'22'   set<xx>类型转json格式有问题....修改类中属性 lombok注解,不生成get方法
@Getter(value = AccessLevel.PRIVATE)
private byte[] xxxBytes;

5、MySQL:Duplicate entry ‘xx‘ for key ‘xxxx.PRIMARY‘ 

java.sql.SQLIntegrityConstraintViolationException:Duplicate entry ‘xx‘ for key ‘xxxx.PRIMARY‘ 
原因:主键设置重复,或者说是主键冲突
解决方案:
隔山打牛: 我mybatis-plus框架,6-7张关联表,一张表插入,导致另一张表id关联插入,
使用对象insert插入,bean对象copy导致,对象引用地址相同,导致ID关联主键等会冲突。
解决:
插入对象 克隆新的对象  implements Cloneable{//重写clone方法...自行百度学习
}

6、Mongdb:com.mongodb.MongoQueryException:....'Regular expression is invalid:....'

很大可能就是编写的正则有问题

7、在MyBatis-Plus XML中使用for循环插入数据,如果数据量太大可能会存在性能问题和内存溢出等问题

因为MyBatis-Plus XML中,for循环插入数据实际上是将SQL语句拼接成一个非常长的字符串,然后一次性执行。字符串长度超过MySQL最大限制(默认4MB),导致SQL执行失败

干我们这行,啥时候懈怠,就意味着长进的停止,长进的停止就意味着被淘汰,只能往前冲,直到凤凰涅槃的一天!

http://www.lryc.cn/news/226014.html

相关文章:

  • 基于UNI-APP实现适配器并保证适配器和实现的调用一致
  • 使用jdk21预览版 --enable-preview
  • js中的跳转都有哪些格式
  • 无重复字符的最长子串
  • C语言--输入10个数字,要求输出其中值最大的元素和该数字是第几个数
  • 如何做好功能测试,提升测试质量和效率?
  • 高德地图添加信息弹窗,信息弹窗是单独的组件
  • Apache Arrow优点
  • 【Linux权限:系统中的数字锁与安全之门】
  • 笔记本电脑的麦克风没有声音
  • 20道简单的投资数学逻辑
  • 【Spring】事务实现原理
  • 人工智能基础_机器学习024_梯度下降进阶_L1正则可视化图形---人工智能工作笔记0064
  • 媒体聚焦丨四维图新旗下杰发科技王璐:设计决定芯片质量
  • 动态规划基础篇(LeetCode每日一题计划)
  • 智慧商业:探索分布式云技术为企业创造商业价值,减少成本,提升生产力的秘诀!
  • Anaconda安装gdal
  • vite基础学习笔记:14.路由跳转(二)携带query参数
  • 立体相机标定
  • mixin混合类的接口实现
  • 前端小技巧: TS实现EventBus自定义事件
  • Django之三板斧的使用,全局配置文件介绍,request对象方法,pycharm链接数据库,Django链接数据库,ORM的增删改查
  • 医学影像系统源码(MRI、CT三维重建)
  • 【uniapp】仿微信通讯录列表实现
  • [MT8766][Android12] 增加应用安装白名单或者黑名单
  • 游戏公司数据分析师必备知识(持续补充中...)
  • intellj 开发软件插件
  • leetCode 493 翻转对
  • “辛巴猫舍”内网渗透、提权、撞库学习笔记
  • 粤嵌实训医疗项目--day06(Vue + SpringBoot)