84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
MySQL int 类型不是最多只能到 4,294,967,295 么,怎么新建表的时候,默认不写 int 后面的数字(即不这样写int(5)),建好表之后会是 int(11)
小伙看你根骨奇佳,潜力无限,来学PHP伐。
后面的数字只影响默认显示的位数
http://www.ccvita.com/175.html
举个例子最明白,类似于位数不足以0补全。 e.g.
mysql> create table joke (a int(11)); Query OK, 0 rows affected (0.01 sec)
mysql> insert into joke values(100); Query OK, 1 row affected (0.00 sec)
mysql> select * from joke; +------+ | a | +------+ | 100 | +------+ 1 row in set (0.00 sec)
mysql> alter table joke change a a int(11) zerofill; Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from joke; +-------------+ | a | +-------------+ | 00000000100 | +-------------+ 1 row in set (0.00 sec)
int(11)这里不是代表的数字最大上限位数的意思,而是数字显示位数,比如 123,在int(11)中会显示成 00000000123
123
00000000123
建表的时候可以不指定int的长度,这个()里面显示的是对外显示的宽度,Int 是定长数据类型。所以存储的大小是确定的。不会因为()而变化。
如果是有符号整数就会多出负号占一位
好不好了
后面的数字只影响默认显示的位数
http://www.ccvita.com/175.html
举个例子最明白,类似于位数不足以0补全。
e.g.
mysql> create table joke (a int(11));
Query OK, 0 rows affected (0.01 sec)
mysql> insert into joke values(100);
Query OK, 1 row affected (0.00 sec)
mysql> select * from joke;
+------+
| a |
+------+
| 100 |
+------+
1 row in set (0.00 sec)
mysql> alter table joke change a a int(11) zerofill;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> select * from joke;
+-------------+
| a |
+-------------+
| 00000000100 |
+-------------+
1 row in set (0.00 sec)
int(11)这里不是代表的数字最大上限位数的意思,而是数字显示位数,比如
123
,在int(11)中会显示成00000000123
建表的时候可以不指定int的长度,这个()里面显示的是对外显示的宽度,Int 是定长数据类型。所以存储的大小是确定的。不会因为()而变化。
如果是有符号整数就会多出负号占一位
好不好了