开发者社区> 问答> 正文

mysql中关于int UNSIGNED 的疑问

mysql 版本:mysql 5.1.60-log 操作系统是linux 64bit的
一张表 aa
1
其中 count 为 INT UNSIGNED 类型 有一条记 录
2
执行 "update aa set count=count-1 where id=1" 后 count会变成 4294967297 mysql 不报错误,请高手帮忙解释一下为什么,如何避免?

展开
收起
落地花开啦 2016-02-22 15:17:34 3587 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    没任何错,既然是无符号型,那0-1当然不能是-1了,只能是2^32-1了.
    为什么不是64,而是32,是因为mysql里做了统一。操作系统有32位和64位的区别,但应用程序会做一些统一的

    2019-07-17 18:46:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像