Mysql数据库中数字相减 出现负数时sql 语句报错的问题
作者:UTF杠8
这篇文章主要介绍了Mysql数据库中数字相减 出现负数时sql 语句报错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Mysql中数字相减 出现负数时sql 语句报错
原因
两个字段都是无符号的,UNSINED 需要 通过 cast(‘字段’as SINED) 或者 convert(‘字段’, SINED) 两个函数 将字段转换为有符号的SINED 状态。
使用 CAST: CAST ( expression AS data_type ) 使用 CONVERT: CONVERT (data_type[(length)], expression [, style]) 参数
Mysql update 自减 判断是否小于零
一般的MySQL自增自减的写法就是
update table set column = column -1 where id = id
但是如果该列已经为0时就会变成改字段的最大值
所以要用一下语句
update table set column = IF(column < 1, 0, column -1) where id = id
这样如果该列小于1就直接赋为0,可以避免数据错误 也可以省去查询判断的语句
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。