菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
449
0

简单谈谈MySQL中的int(m)

原创
05/13 14:22
阅读数 85785

以前我一直以为这里是在限制int显示的宽度,后来仔细研究和通过上网查询发现,事实并不编程客栈是那样的。

确切的来说,这里的“宽度”只是一个“预期值”,它所代表的仅仅是你在设计数据表www.cppcns.com结构时,想让该列日后显示的值宽度为多少,但是具体存入值的宽度多少不会受任何影响。

当然,它的作用不仅如此,在存入数据的时候,还是有一定区别的,这一点可以通过设置字段的zerofill可以看出。比如这里我们创建一个数据表,结构如下:

create table test (
 num int(5) zerofill
);

上面代码创建一个名为test的表,结构很简单,表中只有一个名为num的字段,类型为int,宽度为5,为了看出宽度方便,我们又添加一个zerofill属性(该属性会让存入数值在不VpcYlfdRo足宽度情况下,左侧补0)

然后我们开始插入数据:

mysql> insert into test values(1),(11),(123),(12345),(123456),(1234567);
Query OK, 6 rows affected (0.00 sec)
Records: 6 Duplicates: 0 Warnings: 0

打印结果:

mysql> select * from test;
+---------+
| num   |
+---------+
|  00001 |
|  00http://www.cppcns.com011 |
|  00123 |
|  12345 |
| 123456 |
| 1234567 |
+---------+
6 rows in set (0.00 sec)

由以上结果,不难看出,如果字符少于设置(期望值)宽度,在设置了zerofill属性的情况下,左侧会统统补0;但是如果超出则不受任何影编程客栈响。也就是说这里的int(m)中m只是一个预期值,和真实数据宽度并没多大关系。

本文标题: 简单谈谈MySQL中的int(m)
本文地址: http://www.cppcns.com/shujuku/mysql/165210.html

发表评论

0/200
449 点赞
0 评论
收藏
为你推荐 换一批