跳到主要内容

mysql中int(1)与int(10)的区别

管

管理员

https://www.cnblogs.com/wanghaokun/p/5967663.html

2020年02月08日 2,112 次阅读
本页目录

 

INT[(M)] [UNSIGNED] [ZEROFILL]

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

INT(1) 和 INT(10)本身没有区别,但是加上(M)值后,会有显示宽度的设置。

如代码所示:

1
2
3
4
5
6
7
8
mysql> create table test(id int(3));
Query OK, 0 rows affected (0.47 sec)
mysql> insert into test values(12);
Query OK, 1 row affected (0.12 sec)
mysql> insert into test values(1234);
Query OK, 1 row affected (0.10 sec)
mysql> select * from test;
+------+| id   |+------+|   12 || 1234 |+------+

 再试一下。这下咱们加上zerofill。

1
2
3
4
5
6
7
8
mysql> create table test1(id int(3) zerofill);
Query OK, 0 rows affected (0.32 sec)
mysql> insert into test1 value(12);
Query OK, 1 row affected (0.07 sec)
mysql> insert into test1 value(1234);
Query OK, 1 row affected (0.05 sec)
mysql> select * from test1;
+------+| id   |+------+|  012 || 1234 |+------+

 这下注意12前面输出多了个0,int(M) 的值多了个0,这就是显示宽度的限制。而多出来的还会显示出来。只是系统判定12显示宽度不足,会补0来补全显示宽度

但是要注意插入负数的时候:

没有设置zerofill的时候负数正常显示

1
2
3
4
mysql> insert into test value(-1234);
Query OK, 1 row affected (0.07 sec)
mysql> select * from test;
+-------+| id    |+-------+|    12 ||   123 || -1234 |+-------+3 rows in set (0.00 sec)

 咱再来看看设置 zerofill的时候:

1
2
3
4
mysql> insert into test1 value(-1234);
Query OK, 1 row affected, 1 warning (0.11 sec)
mysql> select * from test1;
+------+| id   |+------+|  012 || 1234 ||  000 |+------+

 输出为000,插入是-1234 。显示是000。

原来添加zerofill的时候系统会给自动添加上unsigned属性。就是非负数。而设置的显示宽度为3位。所以就会输出000。

Related

相关文章

同分类文章 →
2024年12月27日 java

Spring 事务中的几种隔离级别介绍

  Spring 为了方便用户设定事务的隔离级别,专门定义了一个枚举类:Isolation。这个枚举类和事务传播行为的枚举类很像。 public enum Isolation { DEFAULT(TransactionDefinition.ISOLATION_DEFAULT), READ_UNC

2021年07月07日 java

&&的优先级

&&的优先级高于|| 这里就有一种特殊情况:如果表达式中含有||,总是先算 || 左边的子表达式,这里是((a+1)>0)永远先于(((++a)<0) && (!((b--)<=0)))计算(并且由于优先级,先计算a+1,再与0比较,而不是先将1与0比较,再和a相加),如果 || 左边的

2021年03月29日 java

求圆心到点的直线与圆的相交点.

若O(x1,y1),A(x2,y2)满足OA>r。 则向量OA=(x2-x1,y2-y1),可设向量OB=(m,n),则有:m(y2-y1)-n(x2-x1)=0且(m-x1)²+(n-y1)²=r²。 解得B((x2-x1)r/√(x2-x1)²+(y2-y1)²,(y2-y1)r/√(x2-x1)&s

WeChat

扫码加我微信

微信二维码