专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

面试官:int(1) 和 int(10) 有什么区别?

macrozheng  · 公众号  ·  · 2024-08-05 14:10
    

文章预览

mall学习教程官网: macrozheng.com 作者:假装懂编程 来源:juejin.cn/post/6992574502282477605 困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单 alter table xxx ADD user_id int(1) 。领导看到我的sql工单,于是说:这 int(1) 怕是不够用吧,接下来是一通解释。其实这不是我第一次遇到这样的问题了,其中不乏有工作5年以上的老司机。包括我经常在也看到同事也一直使用int(10),感觉用了int(1),字段的上限就被限制,真实情况肯定不是这样。 数据说话 我们知道在mysql中 int占4个字节,那么对于无符号的int,最大值是2^32-1 = 4294967295,将近40亿,难道用了int(1),就不能达到这个最大值吗? CREATE   TABLE   `user`  (    `id`   int ( 1 )  unsigned   NOT   NULL  AUTO_INCREMENT,    PRIMARY  KEY  ( `id` ) )  ENGINE = InnoDB  AUTO_INCREMENT= 1   DEFAULT   CHARSET =utf8m ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览