
数据库
文章平均质量分 80
わたしわ
这个作者很懒,什么都没留下…
展开
-
接口响应成功未有预期结果排查
我这里遇到的情况属于第二种情况,因为特殊的数据,导致查询出来的关联数据为空,后续for循环处理关联数据的逻辑不执行,最终需要insert的数据为空不插入数据,所以最终结果是成功,也没有错误日志但没有预期数据;最终通过修改逻辑避免关联数据为空的情况,避免不新增数据。第二种情况只能通过检验代码逻辑、日志、debug等方式排查代码逻辑问题,很多时候是某些特殊的数据情况没有兼容对应逻辑导致的,当然还有部分是在高并发、集群等情况下才会出现问题,这种需要对相关逻辑做高并发集群的特殊处理。3、代码中的异常被吃掉了。原创 2023-09-07 21:28:29 · 401 阅读 · 0 评论 -
Mybatis plus写入数字类型字段到数据库中失败原因及解决方案
数据库对应字段设置为tinyint(4),在调用Mybatis plus写入数据库时对应字段设置值为200,发现如下报错:Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column ‘number’ at row 1通过以上报错提示知道 number 字段的值超出了范围,那么只需要修改 number 字段原创 2022-07-03 17:15:59 · 2214 阅读 · 0 评论 -
Mybatis-plus设置某个字段值为null
前提:数据库表对应字段允许为null使用Mybatis-plus操作数据库时,如果未自己写sql而是采用Mybatis-plus的方法设置sql的情况下,默认Mybatis-plus生成sql时会将设置为null的字段忽略掉(不更新该字段);所以默认情况下,使用Mybatis-plus的方法操作数据库时没办法设置一个字段的值为null(除非该字段数据库表设置默认值就为null)。Mybatis-plus设计如此很好理解,比如现在我们的系统中一般都是做逻辑删除即修改删除标记的字段为删除状态的值,此时执行upd原创 2022-06-20 15:53:51 · 8707 阅读 · 0 评论 -
The table ‘table_name‘ is full 异常排查及解决方案
背景项目上线运行了一年半的时间,在这期间因为需求的修改也做过一些改动,但是这个基础的下单功能从上线后未做过任何改动,且最近半年项目未更新,一直稳定运行包括这个下单功能,但是前天发生了下单失败的情况,最开始也未太多的关注,因为这个下单功能会去调用三方服务做前置操作(三方服务限制订单每个用户每天只允许下单一次,三方服务成功之后才做入库操作),且提示给用户的信息是重复下单,所以用户下单失败且是重复下单的提示是属于正常现象;但是当天后续的订单都是失败重复下单的情况;此时就感觉到不对了。赶紧去查看了该服务的日志信息原创 2022-06-17 01:18:34 · 3375 阅读 · 0 评论 -
MyBatis-Plus inser报错 Field ‘x‘ doesn‘t have a default value/Duplicate entry ‘x‘ for key ‘xxx.PRIMAR‘
二、MyBatis-Plus主键策略MyBatis-Plus GitHub主键策略介绍MyBatis-Plus 官方文档主键策略介绍本篇介绍的是基于mybatis-plus 3.3.2的版本@TableId注解的默认主键策略是 NONE总共有8种主键策略,分别是:AUTO-自动递增NONE-不设置INPUT-自行设置主键可以看到此时的数据库中该表的id主键采用的数据库自增策略,所以采用myabtis-plus时,主键采用了默认的NONE可以看到打印出的执行的SQL也没有插入id字原创 2021-09-29 18:38:44 · 4566 阅读 · 1 评论 -
centos7安装MySQL、redis
需要看centos7安装教程可看 Vmware安装centOS7需要看centos7安装jdk、git、maven可看 centos7安装jdk、git、maven一、MySQL安装二、redis安装创建redis存放目录cd /usr/mkdir redis下载redis的tar.gz压缩包下载地址可以在上面的下载地址中选择对应版本下载,然后上传到centos7中刚刚创建的redis目录中或者在刚刚创建的redis目录中使用 wget 下载,如果没有科学上网的话可能下载会比较慢,可以使用原创 2021-06-20 19:47:23 · 683 阅读 · 0 评论 -
复合索引使用
MySQL复合索引使用一个a,b,c三个字段的索引怎么使用?一个a,b,c三个字段的索引怎么使用?一张A表以a(是varchar类型),b,c三个字段建立索引,怎么去使用(先看下面几种使用方式):1.select * from A where a = ? and b = ? and c = ?2.select * from A where a = ? and c = ?3.select * from A where b = ? and c = ?4.select * from A where原创 2021-01-16 19:54:25 · 572 阅读 · 0 评论