mysql中为int设置长度究竟是什么意思

1、长度跟可以使用的值的范围无关,值的范围仅跟类型对应的存储字节数和是否unsigned有关;2、长度指的是显示宽度,比如,指定3位int,那么id为3和id为300的值,在显示的时候怎么对齐呢?按照手册的说法,是默认用“空格”在左边填充。比如下述表格 CREATE TABLE `inttest` (`id` int(3) unsigned ...
mysql中为int设置长度究竟是什么意思
1、长度跟可以使用的值的范围无关,值的范围仅跟类型对应的存储字节数和是否unsigned有关;
2、长度指的是显示宽度,比如,指定3位int,那么id为3和id为300的值,在显示的时候怎么对齐呢?按照手册的说法,是默认用“空格”在左边填充。比如下述表格

CREATE TABLE `inttest` (
`id` int(3) unsigned NOT NULL AUTO_INCREMENT,
`value` varchar(2) NOT NULL,
PRIMARY KEY (`id`)
) EN

现在分别插入id长度为2,3,4,5位的数据,执行查询以后得到显示如下:

MariaDB [mytest]> select * from inttest;
+-------+-------+
| id | value |
+-------+-------+
| 13 | a |
| 111 | b |
| 1000 | c |
| 10000 | d |
+-------+-------+
4 rows in set (0.00 sec)

如果我们改成ZEROFILL,再次查询的结果如下:

MariaDB [mytest]> select * from inttest;
+-------+-------+
| id | value |
+-------+-------+
| 013 | a |
| 111 | b |
| 1000 | c |
| 10000 | d |
+-------+-------+
4 rows in set (0.00 sec)

我们会发现,不足3位长度的值会被自动填充,而超过3位长度的值就不会被填充了。2017-10-02
mengvlog 阅读 44 次 更新于 2025-09-09 12:14:38 我来答关注问题0
  •  宜美生活妙招 mysql字段类型设置为int类型,长度设置为2,这个长度是在哪

    MySQL中int类型字段的长度设置指的是字段在显示或输出时的宽度,而不是存储的数字大小或范围。以下是具体解释:存储大小:int类型在MySQL中占用了4字节的空间,与设置的长度无关。这意味着无论你将长度设置为2还是其他值,int类型字段的存储大小始终是4字节。显示宽度:长度设置指的是字段在显示或输出时...

  • 1、长度跟可以使用的值的范围无关,值的范围仅跟类型对应的存储字节数和是否unsigned有关;2、长度指的是显示宽度,比如,指定3位int,那么id为3和id为300的值,在显示的时候怎么对齐呢?按照手册的说法,是默认用“空格”在左边填充。比如下述表格 CREATE TABLE `inttest` (`id` int(3) unsigned ...

  • 例如,在设置为int(5)的字段中,如果插入数字1,则MySQL会自动在数字前添加零以填充所有5个位,因此输入的值将显示为00001。当使用JavaScript等显示这些值时,前导零可能会被解析器自动移除,例如将00001解析为数值1。综上所述,整型字段的长度设置为2并不是指存储的数字大小或范围,而是指字段在显示或...

  •  深空游戏 mysql如何修改字段总长度限制如何设置

    那么命令就是: alter table t1 modify column name varchar(20); 如下面图中所示,修改完成后,再往表中插入上一次操作的字符串,就不会报错了。然后在表中查询对应的值,就能看到插入的新值。能够表示对应的长度。但是当我们再次尝试插入更大的值时,还是会报错。所以大家根据自己的需求,为字段设置...

  • 实际上,Int类型在存储时占用的是4个字节的空间,无论其显示长度是多少。所谓的显示长度,可以理解为在特定格式下的表现形式。比如,当你设置length为8,输入1,其显示为00000001;如果length设置为6,输入1,显示则为000001。可以看出,显示长度的设定主要是为了在特定格式下使数据更加易于阅读和理解。因此...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部