广告
返回顶部
首页 > 资讯 > 数据库 >mysql中int(1)和int(10)有哪些区别
  • 772
分享到

mysql中int(1)和int(10)有哪些区别

2023-06-29 00:06:32 772人浏览 安东尼
摘要

这篇文章给大家分享的是有关mysql中int(1)和int(10)有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提

这篇文章给大家分享的是有关mysql中int(1)和int(10)有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

困惑

最近遇到个问题,有个表的要加个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=utf8mb4;

id字段为无符号的int(1),我来插入一个最大值看看。

mysql> INSERT INTO `user` (`id`) VALUES (4294967295);Query OK, 1 row affected (0.00 sec)

可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别。

零填充

一般int后面的数字,配合zerofill一起使用才有效。先看个例子:

CREATE TABLE `user` (  `id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT,   PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

注意int(4)后面加了个zerofill,我们先来插入4条数据。

mysql> INSERT INTO `user` (`id`) VALUES (1),(10),(100),(1000);Query OK, 4 rows affected (0.00 sec)Records: 4  Duplicates: 0  Warnings: 0

分别插入1、10、100、1000 4条数据,然后我们来查询下:

mysql> select * from user;+------+| id   |+------+| 0001 || 0010 || 0100 || 1000 |+------+4 rows in set (0.00 sec)

通过数据可以发现 int(4) + zerofill实现了不足4位补0的现象,单单int(4)是没有用的。
而且对于0001这种,底层存储的还是1,只是在展示的会补0。

感谢各位的阅读!关于“mysql中int(1)和int(10)有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中int(1)和int(10)有哪些区别

本文链接: https://www.lsjlt.com/news/321499.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中int(1)和int(10)有哪些区别
    这篇文章给大家分享的是有关mysql中int(1)和int(10)有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。困惑最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提...
    99+
    2023-06-29
  • 浅谈mysql中int(1)和int(10)的区别
    目录困惑数据说话零填充总结困惑 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx ADD user_...
    99+
    2022-11-13
  • MySQL中int(10)和int (11)有什么区别
    这篇文章主要讲解了“MySQL中int(10)和int (11)有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中int(10)和int (11)有什么...
    99+
    2023-06-28
  • MySQL中int (10) 和 int (11) 的区别
    mysql 中整数数据类型: 不同类型的取值范围: 不同数据类型的默认v显示宽度: 显示的宽度跟负号没有关系,它只在人工设置了 ZEROFILL 属性有效。一旦人工设置了 ZE...
    99+
    2022-11-13
  • MySQL中int(10)和int(11)的区别详解
    目录一、背景二、MySQL整数类型总结:一、背景 在创建数据库表的时候,我们经常会用到int(x)来定义一个字段的类型,一直误以为这里的x表示存储数字的长度。 其实大错特错,这里的 x 指的是 最大显示宽度(最大有效显示...
    99+
    2023-03-02
    MySQLint(10)和int(11) MySQLint(10)
  • MySQL中int(10)和int(11)的区别是什么
    这篇文章主要介绍了MySQL中int(10)和int(11)的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中int(10)和int(11)的区别是什么文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-07-05
  • 在 MySQL 中使用 INT(1) 与 TINYINT(1) 有区别吗?
    括号中使用的数字1仅用于宽度显示。 INT(1)和TINYINT(1)不影响存储。TINYINT占用1个字节,这意味着它的范围是-128到+127,而int占用4个字节;它的范围是 -2147483648 到 +2147483647要了解宽...
    99+
    2023-10-22
  • Mysql中tinyint与int的区别有哪些
    这篇文章主要介绍了Mysql中tinyint与int的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题:int(1) 和 tinyint(1) 有什么区别呢?像这...
    99+
    2023-06-22
  • java integer和int的区别有哪些
    基础:int 是 java 的一种基础数据类型,而 integer 是int 的一个封装类。Integer 变量必须实例化之后才能使用,而 int 变量不需要。Integer 实际是对象的引用,当 new 一个 integer 对象时,实际...
    99+
    2018-09-15
    java教程 java integer int 区别
  • MySQL中int和integer有什么区别
    MySQL中int和integer有什么区别,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL中int和integer的区别&nbs...
    99+
    2022-10-18
  • mysql中int和bigint有什么区别
    在MySQL中,int和bigint是两种整数数据类型,它们有以下区别:1. 数据存储范围:int数据类型可以存储的范围是-2147483648到2147483647,而bigint数据类型可以存储的范围是-92233720368547...
    99+
    2023-08-09
    mysql
  • C++中signed main和int main有哪些区别
    这篇文章给大家分享的是有关C++中signed main和int main有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 前言看见大佬的C++代码,主函数"int...
    99+
    2023-06-22
  • mysql中int、bigint、smallint 和 tinyint的区别
    在MySQL中,int、bigint、smallint和tinyint是不同的整数数据类型,具有不同的取值范围和存储空间。1. int(整数):int是MySQL中最常用的整数类型,默认情况下占据4个字节的存储空间,可以存储范围为-2,...
    99+
    2023-08-09
    MySQL
  • php中int和intval有什么区别
    php中int和intval的区别:1、int是指Integer整型,intval是指用于获取变量整数值的函数;2、int的强制转换与intval函数在超出各种类型显示的最大值时,intval如果参数是字符串,则返回字符串中第一个不是数字的...
    99+
    2022-08-08
    php
  • mysql中int和bigint的区别是什么
    这篇文章将为大家详细讲解有关mysql中int和bigint的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  1 bytes = 8 bit ,...
    99+
    2022-10-18
  • mysql中int、bigint、smallint和tinyint的区别与长度
    对比发现 int bigint smallint 和 tinyint 类型,如果创建新表时没有指定 int(M) 中的M时,默认分别是 :   int             -------     int(11)   bigint   ...
    99+
    2019-08-08
    mysql中int bigint smallint和tinyint的区别与长度 数据库入门 数据库基础教程 数据库 mysql
  • mysql中int、bigint、smallint和tinyint的区别与长度
    对比发现 int bigint smallint 和 tinyint 类型,如果创建新表时没有指定 int(M) 中的M时,默认分别是 :   int             -------     int(11)   bigint   ...
    99+
    2020-01-02
    mysql中int bigint smallint和tinyint的区别与长度 数据库入门 数据库基础教程 数据库 mysql
  • mysql中int、bigint、smallint和tinyint的区别是什么
    在MySQL中,int、bigint、smallint和tinyint是不同的整数数据类型,它们之间的区别如下:1. int:int...
    99+
    2023-08-15
    mysql
  • mysql中int、bigint、smallint 和 tinyint的区别详细介绍
    在MySQL中,int、bigint、smallint和tinyint都是整数数据类型,它们之间的区别主要体现在取值范围和存储空间上...
    99+
    2023-08-14
    mysql
  • 你知道在Java中Integer和int的这些区别吗?
    目录一、基本概念(重要)二、拓展三、new Integer()与new Integer()的比较四、Integer与new Integer()的比较五、Integer与Integer...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作