700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql如何设置数据库内存溢出_MySQL数据库之关于MySQL的整型数据的内存溢出问题的应对

mysql如何设置数据库内存溢出_MySQL数据库之关于MySQL的整型数据的内存溢出问题的应对

时间:2021-08-24 02:20:14

相关推荐

mysql如何设置数据库内存溢出_MySQL数据库之关于MySQL的整型数据的内存溢出问题的应对

本文主要向大家介绍了MySQL数据库之关于MySQL的整型数据的内存溢出问题的应对方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

今天接到一个朋友电话说是觉的数据库被别人更改了,出现数据不对的问题。经过很久的排查是数据类型溢出了(发生问题的版本是MySQL5.1)。后来通过给朋友那边把MySQL5.1升级到MySQL5.5去解决这个问题。这也让我有兴趣去了解一下MySQL不同版本数据类型溢出的处理机制。

先看一下MySQL支持的整型数及大小,存储空间

另外请记着mysql的数据处理会转成bigint处理,所以这里就用bigint几个测试:SELECTCAST(0ASUNSIGNED)-1;SELECT9223372036854775807+1;

MySQL5.1下:mysql>SELECTCAST(0ASUNSIGNED)-1;+-------------------------+|CAST(0ASUNSIGNED)-1|+-------------------------+|18446744073709551615|+-------------------------+1ROWINSET(0.01sec)mysql>SELECT9223372036854775807+1;+-------------------------+|9223372036854775807+1|+-------------------------+|-9223372036854775808|+-------------------------+1ROWINSET(0.01sec)

MySQL5.5,5.6,5.7下:mysql>SELECTCAST(0ASUNSIGNED)-1;ERROR1690(2):BIGINTUNSIGNEDVALUEISOUTOFrangeIN'(cast(0asunsigned)-1)'mysql>mysql>mysql>mysql>SELECT9223372036854775807+1;ERROR1690(2):BIGINTVALUEISOUTOFrangeIN'(9223372036854775807+1)'

所在处理这类数据是一定要小心溢出(如早期有做弊冲Q币就是利用这个方法处理)

这个问题有可能会出现积分消息,积分相加,或是一些钱相关的业务中出现,主库5.1,从库MySQL5.5情况也会出现不同步的问题。

建议:这类业务系统尽可能的升级到MySQL5.5后版本

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

mysql如何设置数据库内存溢出_MySQL数据库之关于MySQL的整型数据的内存溢出问题的应对方法...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。