最近在做项目时遇到一个问题,同一个方法中两次更新入库,其中一次成功,一次没执行。我先是排查应用程序日志,发现程序日志并没有异常,然后根据执行时间查了mysql的binlog日志。
binlog日志查看脚本如下:
/usr/local/mysql/bin/mysqlbinlog -v --start-datetime='2018-12-26 17:55:00' --stop-datetime='2018-12-26 17:57:00' logs/mysql-bin.000004 >/tmp/tmp.sql
binlog日志显示确实只执行了一次更新操作
### UPDATE `user_currency` ### WHERE ### @1=15 ### @2=203 ### @3=17 ### @4=318.2131053694 ### @5=287.7714971818 ### @6=30.4416081876 ### @7='2018-12-26 17:39:57' ### SET ### @1=15 ### @2=203 ### @3=17 ### @4=348.4720639080 ### @5=318.0304557204 ### @6=30.4416081876 ### @7='2018-12-26 17:39:57' # at 14487394
update user_currency set available_money = available_money + ?, where user_id = ? and currency_id = ?
update user_currency set available_money = available_money + ?, where user_id = ? and currency_id = ? update user_currency set available_money = available_money + ?, where user_id = ? and currency_id = ? update user_currency set available_money = available_money + ?, where user_id = ? and currency_id = ? 对应参数分别是: 0E-20(BigDecimal), 49(Long), 17(Long), 2.7377658553(BigDecimal), 49(Long), 4(Long) 23.30465650830011440000(BigDecimal),59(Long), 17(Long) 0(BigDecimal), 59(Long), 4(Long)
我将两次的更新合并到一起,改为批量操作,并且在测试环境开启了sql日志打印。第二天测试部门反馈还是存在这个问题。我把当天的日志拉出来比对,发现在批量更新时sql是有的,奇怪的是其中一个sql中的某个数值是科学计数法。
问题终于找到了,那解决问题就简单多了。mysql是弱类型,直接将科学计数法转成字符串即可解决问题。
相关推荐
它还支持数字的格式化输出,可以自定义小数位数,以及进行科学计数法的转换。这些方法使得开发者在处理财务、科学计算或其他需要高精度数值运算的场景下,能够避免JavaScript默认数据类型带来的精度问题。 使用...
物资保管要求科学摆放、精确计数、保持质量稳定,常用方法如“四号定位”和“五五码垛法”。 【物资保管】保管过程中,要对物资进行编号定位,进行必要的维护保养,防止锈蚀、灰尘、潮湿等因素对物资造成损害。同时...
在Web开发中,处理数字格式化是常见的需求,例如货币、百分比、科学计数法等。为此,开发者们经常利用各种工具库来简化这一过程。"Formato"是一个专为JavaScript设计的轻量级库,它的主要功能就是帮助我们高效地格式...
5. 商品科学堆码方式包括散堆法、货架堆码法和垛堆法,以适应不同的存储需求。 6. “五五化”堆码方法便于计数,减少差错,有利于快速进出,但可能占用较多空间。 7. 分区分类管理方法包括按商品种类和性质、商品...
5. 商品科学堆码方式包括散堆法、货架堆码法和垛堆法。 6. “五五化”堆码方法便于计数,减少差错,提升工作效率。 7. 分区分类管理方法包括按商品种类、危险性质和发往地区划分。 8. 商品的化学性质包括腐蚀性、...
3. 工作研究:由泰罗(Taylor)提出的科学管理理论核心,包括时间研究和动作研究,旨在提高工作效率和生产力。 4. 工作环境污染源:主要来自人、机器和生产过程,而非人和产品本身。 5. 大量流水生产的期量标准:...
- 通过栈等数据结构解决迷宫问题,以及象棋马的走法问题,采用穷举法和回溯策略。 10. **简单背包问题**: - 用二叉树存储结构解决,生成哈夫曼树和哈夫曼编码,实现文件的编码和译码。 11. **互联网域名搜索**...
2. **18位身份证号码输入**:处理18位身份证号码时,确保设置单元格格式为文本,以免Excel自动将其转换为日期或科学记数法。也可以在输入时先输入单引号 `'`,然后输入号码,这样Excel会识别为文本。 3. **COUNTIF...
4. 因果分析图:也称鱼骨图,用于识别问题可能的原因,呈现问题与潜在原因间的因果关系。 简答题: 1. 多品种小批量生产组织特征:灵活性高,产品多样化,生产计划调整频繁,对市场反应快速。 2. 提高产品构思质量...
1. **分形维数**:AntroPy可以计算盒计数法(Box-counting method)下的分形维数,这是一种评估数据自相似性的方法。在EEG分析中,分形维数可以帮助我们了解大脑活动的复杂性和空间结构。 2. **希尔伯特-黄变换...
3. **科学管理思想**:任务研究是**泰罗(Frederick Taylor)**科学管理理论的重要组成部分,选择A。泰罗的目标是通过分析和改进工作方法来提高生产效率。 4. **工作环境中的污染源**:工作环境的污染主要来自人和...