博主在实验闲暇之余做了个药品管理系统,组成为自己编写的客户端+云MySQL数据库。其目的是为了实现药品购入信息录入、位置查询以及剩余量统计。在编写的过程中发现了这么个问题,在实验上待过的都知道,化学药品一般有唯有识别号,即CAS号。但是并不是所有的药品都有CAS号,这个问题可以用实验室内部编号解决。但是还有另外一个要解决的问题是不同规格的药品对应同一个CAS号,最简单的就是分子量和等规度不同的药品CAS号是一样的。因此博主在解决药品查询和取用的时候需要实现多条件查询。那么问题来了,药品的购买量可能是一样的,但是随着药品的使用,剩余量和已取用量肯定是不一样的。因此博主用CAS和批号做联合主键,加上这两个条件作为药品查询和取用的条件。但是在测试过程中问题来了,查询和取用后数据库里的数据没有任何变化。找寻了很久发现是数据类型引起的,博主把药品剩余量和取用量都设为float型,而float型会带来误差。所以通常设为decimal来避免这个问题。不过楼主选择了另一种减少代码量的方法,即另选了两个字段(字符串类型)。
MySQL使用过程中遇到的那些问题-因数据类型导致存储数值变化引起的数据修改提交失败
-------------本文结束感谢您的阅读-------------
您的支持将鼓励我继续创作!
- 本文链接: http://www.ypli1216.top/posts/65b23686/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!