您现在的位置是:首页 > 正文

MySQL自减更新-int型字段和decimal类型字段区别

2024-02-01 03:04:27阅读 2
  • 在平常使用MySQL保存金额字段的时候一般使用decimal数据类型

  • 在用户充值或者扣款的时候为了防止并发写入的问题,一般使用自增或自减更新

    update table set money = money - 100 where id = 1;
    
  • 当字段设置无符号unsigned的时候使用上面的sql更新,存在数据不准确的问题
    例如
    money字段当前值是50,执行上面自减100的sql结果如下:
    money字段的值变成0.00,sql返回修改记录行数是1
    当字段值是0的时候执行上面的自减sql,字段值不变,sql返回修改记录条数是0

  • 解决办法,使用int无符号类型代替decimal数据类型
    在修改成int类型的字段以后使用自减sql,当结果小于零的时候会抛出数据库错误BIGINT UNSIGNED value is out of range
    能有效的防止数据错误的问题

网站文章

  • 报错 500 - Request processing failed; nested exception is com.alibaba.dubbo.rpc.RpcException的解决放案 热门推荐

    HTTP Status 500 - Request processing failed; nested exception is com.alibaba.dubbo.rpc.RpcException:...

    2024-02-01 03:04:20
  • Golang sync.Map原理分析

    Golang sync.Map原理分析

    上述结构体中的read字段实际上是一个包含map的结构体,该结构体中的map是一个read map,对该map的访问不需要加锁,但是增加的元素不会被添加到这个map中,元素会被先增加到dirty中,后...

    2024-02-01 03:03:48
  • cadence allegro 布线时添加过孔

    1.在放置过孔前先要进行简单的设置。 在菜单栏Setup->Constraints->physical出来的列表里面找到vias 点击出现一个对话框在对话框中选择需要的过孔。(类型比较多可以在下面过滤器输入v*)选择好过孔后关闭即可。当然还有很多约束在这里设置,比如多大的线宽对应多大的过孔..2.使用过孔:在布线的时候双击左键即可添加过孔,或者点击右键。...

    2024-02-01 03:03:41
  • CentOS Stream 9安装xfce并用xdrp远程连接

    CentOS Stream 9安装xfce并用xdrp远程连接

    得到如下信息:yum groupinstall ‘Server with GUI’ /安装GUI环境若出现xxx not available 可以使用依据安装信息,其实在安装GUI环境的时候已经附带着安装了GNOME。但因为我先安装的Xfce,所以并没有对GNOME进行测试。

    2024-02-01 03:03:35
  • 计算机与资源植物的发展趋势,?中科院院士谈未来农业科技五大发展趋势

    作者|赵其国 黄季焜(赵其国,著名土壤科学家,中国科学院院士。)未来5至10年,农业科技将发生显著变化。我们在分析未来农业科技发展趋势的基础上,从如下5个领域分别介绍其发展的新趋势新特点。植物种质资源...

    2024-02-01 03:03:27
  • 【批处理脚本】-1.22-字符串界定符号 ““

    【批处理脚本】-1.22-字符串界定符号 ““

    字符串界定符号 ""

    2024-02-01 03:02:57
  • linux下安装Nginx

    linux下安装nginx

    2024-02-01 03:02:54
  • sql注入-延时注入

    渗透测试基础课-课程进度_不死的小鱼的博客-CSDN博客延时注入和布尔盲注差不多为什么要延时因为有的时候我们知道这个地方存在注入但是页面返回信息一样加了个if延时条件判断if(条件,是,否)http:...

    2024-02-01 03:02:48
  • element ui NavMenu 实现侧边栏导航菜单

    element ui NavMenu 实现侧边栏导航菜单

    使用Element UI 的 Container 布局容器和NavMenu导航菜单组件,使用router-view存放二级路由出口。根据v-for遍历菜单参数,渲染导航栏。

    2024-02-01 03:02:20
  • 2022.03.18 - NC070.BM100 设计LRU缓存结构

    2022.03.18 - NC070.BM100 设计LRU缓存结构

    文章目录1. 题目2. 思路(1) 队列+哈希表3. 代码1. 题目2. 思路(1) 队列+哈希表利用队列维护key的淘汰顺序,每次get或set,若存在key,则将key从队列中删除,重新加入队尾。...

    2024-02-01 03:02:14