`
hbxflihua
  • 浏览: 683346 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

科学计数法入库问题

    博客分类:
  • SQL
阅读更多

 最近在做项目时遇到一个问题,同一个方法中两次更新入库,其中一次成功,一次没执行。我先是排查应用程序日志,发现程序日志并没有异常,然后根据执行时间查了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是弱类型,直接将科学计数法转成字符串即可解决问题。

分享到:
评论

相关推荐

    BigDecimal.js.zip

    它还支持数字的格式化输出,可以自定义小数位数,以及进行科学计数法的转换。这些方法使得开发者在处理财务、科学计算或其他需要高精度数值运算的场景下,能够避免JavaScript默认数据类型带来的精度问题。 使用...

    仓库盘点与坏品作业管理.pptx

    物资保管要求科学摆放、精确计数、保持质量稳定,常用方法如“四号定位”和“五五码垛法”。 【物资保管】保管过程中,要对物资进行编号定位,进行必要的维护保养,防止锈蚀、灰尘、潮湿等因素对物资造成损害。同时...

    formato:一个用于格式化数字JavaScript库

    在Web开发中,处理数字格式化是常见的需求,例如货币、百分比、科学计数法等。为此,开发者们经常利用各种工具库来简化这一过程。"Formato"是一个专为JavaScript设计的轻量级库,它的主要功能就是帮助我们高效地格式...

    仓库保管员知识试卷(含答案),仓管员工作知识考试题目 - 仓库管理员.doc

    5. 商品科学堆码方式包括散堆法、货架堆码法和垛堆法,以适应不同的存储需求。 6. “五五化”堆码方法便于计数,减少差错,有利于快速进出,但可能占用较多空间。 7. 分区分类管理方法包括按商品种类和性质、商品...

    仓库保管员知识试卷(含答案),仓管员工作知识考试题目.pdf

    5. 商品科学堆码方式包括散堆法、货架堆码法和垛堆法。 6. “五五化”堆码方法便于计数,减少差错,提升工作效率。 7. 分区分类管理方法包括按商品种类、危险性质和发往地区划分。 8. 商品的化学性质包括腐蚀性、...

    04年7月生产与作业管理试题.doc

    3. 工作研究:由泰罗(Taylor)提出的科学管理理论核心,包括时间研究和动作研究,旨在提高工作效率和生产力。 4. 工作环境污染源:主要来自人、机器和生产过程,而非人和产品本身。 5. 大量流水生产的期量标准:...

    数据结构实验课件(2013年)zy.docx

    - 通过栈等数据结构解决迷宫问题,以及象棋马的走法问题,采用穷举法和回溯策略。 10. **简单背包问题**: - 用二叉树存储结构解决,生成哈夫曼树和哈夫曼编码,实现文件的编码和译码。 11. **互联网域名搜索**...

    Excel问答集锦-2(356个问答).doc

    2. **18位身份证号码输入**:处理18位身份证号码时,确保设置单元格格式为文本,以免Excel自动将其转换为日期或科学记数法。也可以在输入时先输入单引号 `'`,然后输入号码,这样Excel会识别为文本。 3. **COUNTIF...

    生产与作业管理试题.doc

    4. 因果分析图:也称鱼骨图,用于识别问题可能的原因,呈现问题与潜在原因间的因果关系。 简答题: 1. 多品种小批量生产组织特征:灵活性高,产品多样化,生产计划调整频繁,对市场反应快速。 2. 提高产品构思质量...

    提供了几种用于计算(EEG)时间序列复杂度的高效算法_python_代码_下载

    1. **分形维数**:AntroPy可以计算盒计数法(Box-counting method)下的分形维数,这是一种评估数据自相似性的方法。在EEG分析中,分形维数可以帮助我们了解大脑活动的复杂性和空间结构。 2. **希尔伯特-黄变换...

    100多份品管试卷及答案——资料包(151个DOC)04年7月生产与作业管理.doc

    3. **科学管理思想**:任务研究是**泰罗(Frederick Taylor)**科学管理理论的重要组成部分,选择A。泰罗的目标是通过分析和改进工作方法来提高生产效率。 4. **工作环境中的污染源**:工作环境的污染主要来自人和...

Global site tag (gtag.js) - Google Analytics