简单谈谈MySQL中的int(m)

网络编程 2025-03-24 12:15www.168986.cn编程入门

当我们需要设置整型数据(int)时,常常会遇到需要指定int(M)的情况。以前,我们可能知道这个M最大为255,但到底应该设置多少,我们可能并没有深入。今天,我们来一起简单下这个话题,并深入理解其中的zerofill属性。

当我们设计数据库表时,遇到需要设置int类型的情况,通常会按照惯例设置为int(11)。这里的数字11似乎成了一个约定俗成的数值,那么它究竟代表什么呢?

实际上,这里的数字(M)并不代表实际存储的数据宽度,而是一个“预期值”。它主要表达的是在设计表结构时,我们希望该列日后显示的值宽度为多少。确切地说,M只是一个提示,具体存储的数值宽度并不会受到这个数值的限制。

这个“预期值”在存入数据时还是有一定作用的。我们可以通过设置字段的zerofill属性来观察这一点。假设我们创建一个数据表,结构如下:

```sql

create table test (

num int(5) zerofill

);

```

在这个例子中,我们创建了一个名为test的表,其中只有一个名为num的字段,类型为int,宽度为5,并添加了zerofill属性。这个属性的作用是在存储数值时,如果数值的位数不足指定的宽度,会在数值的左侧用0来填充。

```sql

mysql> insert into test values(1),(11),(123),(12345),(123456),(1234567);

```

然后,我们查看表中的数据:

```sql

mysql> select from test;

```

从打印的结果中我们可以看到,如果字符少于我们设置的宽度(即期望值),在设置了zerofill属性的情况下,左侧会自动补0;而如果字符超出设定的宽度,则不受任何影响。这进一步证明了,这里的int(m)中的m只是一个预期值,与真实数据的宽度没有直接关系。

当我们设置int型时,需要注意这个M值只是一个预期或提示值,用于指导我们希望看到的显示宽度。具体存储的数据宽度并不受这个数值的限制。通过zerofill属性,我们可以更直观地看到这一点的实际效果。

上一篇:jQuery使用fadein方法实现渐出效果实例 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by