关于数据库id自增太长导致前端获取id不准确

一:问题描述

       有时候我们开发前后端分离项目会出现swagger上面数据和前端获取到的数据出现不同,找半天也找不到原因。如果你能将问题定位到是精度丢失,那么我下面的方法将会为你解决这个问题。

二、明确问题出现原因

   (1)是使用了mybatisPlus进行insert导致
   (2)自己写sql导致

1、使用mybatisPlus导致问题出现

      解决步骤:1、先将数据库数据清除
                         2、使用注解让mybatisPlus自动生成id失效,让其走默认数据库id自增 如图:
在这里插入图片描述
若以上方法不能解决则需要确认数据库是否开启自增,数据库之前数据是否已删除并保存,项目是否重启,问题的定位是否准确

2、自己写sql导致

        解决方式:认真检查SQL和数据库id长度

3、修改数据类型后端将其转化为Sting(补充1)

   操作步骤:使用String类型接收参数
   存在弊端:当多处使用id时需要在所有使用的地方都进行数据类型转化

4、id不自增(拓展)

    解决方式:在数据库中给id设置自增如图:
在这里插入图片描述

5、其他解决方式(不能精确定位就挨着试试吧)

(1):点击设计表选中id选择选项输入自动递增(先将表数据清空)

在这里插入图片描述
(2)运行SQL命令

ALTER TABLE 表名 AUTO_INCREMENT = 自增值;

(3)先清空表然后截断表
在这里插入图片描述
(4)删除表结构和表数据重新建表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值