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,可以避免数据错误 也可以省去查询判断的语句
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
详解mysql bit/json/enum/set 的数据存储
这篇文章主要介绍了mysql bit/json/enum/set 的数据存储,探究的主要内容为 int 类类型的存储, 浮点类类型的存储, char 类类型的存储, blob 类类型的存储, enum/json/set/bit 类类型的存储,需要的朋友可以参考下2023-09-09Ubuntu Server 16.04下mysql8.0安装配置图文教程
这篇文章主要为大家详细介绍了Ubuntu Server 16.04下mysql8.0安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-05-05mysql中mysql-bin.000001是什么文件可以删除吗
这篇文章主要介绍了mysql中mysql-bin.000001是什么文件可以删除吗,需要的朋友可以参考下2019-05-05MySQL SQL预处理(Prepared)的语法实例与注意事项
所谓预编译语句就是将此类SQL语句中的值用占位符替代,可以视为将 SQL语句模板化或者说参数化,一般称这类语句叫Prepared Statements,下面这篇文章主要给大家介绍了关于MySQL SQL预处理(Prepared)的相关资料,需要的朋友可以参考下2022-01-01Linux(Ubuntu)下mysql5.7.17安装配置方法图文教程
这篇文章主要为大家详细介绍了Linux下mysql5.7.17安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-01-01
最新评论