首页 > 编程知识 正文

无符号数相减溢出判断(mysql整型无符号 大小_解决mysql无符号整型自减运算时溢出的问题)

时间:2023-05-06 05:57:16 阅读:122192 作者:634

溢出通常是指数值型的溢出问题。 针对这个问题,小编总结了解决mysql无符号整数型自减法运算时溢出问题的教程。 希望对大家的同学会有帮助。

在mysql中对无符号整数字段执行自减法运算时,如果结果小于0,则会直接溢出,且不会报告错误。

通常,应该会报告bigintunsignedvalueisoutofrange错误。 至少我的本地mysql是的,但在线mysql中成功运行,字段值已达到40亿4294967295或更高。

可能是由于mysql配置问题,但找不到配置方法,也没有配置权限。 所以只能从程序里下手。

程序生成的sql原本如下所示。

updatetablesetfield=field-1 wherexxx=XXX;

减去1,判断结果的话,必须要查库吧?

所以我用了这个方法。

将字段=字段-1修改为:

field=convert(field(-1 ),signed () ) )。

这样就解决了。 减法运算时,如果值为负值,则直接为0。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。