mysql 中 数据类型 int (1) 和 int(10) 有什么区别吗?
展开全部
int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加 zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明.
mysql> create table t (t int(3) zerofill);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t;
+——+
| t |
+——+
| 010 |
+——+
1 row in set (0.11 sec)
Zerofill with default width, the same as int(10):
mysql> create table t (t int zerofill);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.02 sec)
mysql> select * from t;
+————+
| t |
+————+
| 0000000010 |
+————+
1 row in set (0.08 sec)
Without zerofill:
mysql> create table t (t int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.01 sec)
mysql> select * from t;
+——+
| t |
+——+
| 10 |
+——+
1 row in set (0.00 sec)
mysql> create table t (t int(3) zerofill);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.00 sec)
mysql> select * from t;
+——+
| t |
+——+
| 010 |
+——+
1 row in set (0.11 sec)
Zerofill with default width, the same as int(10):
mysql> create table t (t int zerofill);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.02 sec)
mysql> select * from t;
+————+
| t |
+————+
| 0000000010 |
+————+
1 row in set (0.08 sec)
Without zerofill:
mysql> create table t (t int);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into t set t = 10;
Query OK, 1 row affected (0.01 sec)
mysql> select * from t;
+——+
| t |
+——+
| 10 |
+——+
1 row in set (0.00 sec)
展开全部
表示存储的值的长度,不是是存储值的大小,大小是有没有符复号决定,值的长度和有没有填充0有关系,比如
无符号:
int(1)填充0
可以制存储100,取出来还是100
int(10)填充0
可以存知储100,取出来是0000000100
无符号只能道存储大于等于0的数
有符号:
int(1)填充0
可以存储100,取出来还是100
int(10)填充0
可以存储100,取出来是0000000100
有符号可以存储负数
无符号:
int(1)填充0
可以制存储100,取出来还是100
int(10)填充0
可以存知储100,取出来是0000000100
无符号只能道存储大于等于0的数
有符号:
int(1)填充0
可以存储100,取出来还是100
int(10)填充0
可以存储100,取出来是0000000100
有符号可以存储负数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
区别大了。1块钱和1000块一样么,
抄袭上面的。int(1)是只保存1位的整数,int(10)是保存最多10位的整数
而且int也有点不好,就是在13位以上会出错的哦。
用其他的数值型会稍微比这个好。*(当然你的数据有那么长)
抄袭上面的。int(1)是只保存1位的整数,int(10)是保存最多10位的整数
而且int也有点不好,就是在13位以上会出错的哦。
用其他的数值型会稍微比这个好。*(当然你的数据有那么长)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int(1)是只保存1位的整数,int(10)是保存最多10位的整数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示存储的值的长度,不是是存储值的大小,大小是有没有符号决定,值的长度和有没有填充0有关系,比如
无符号:
int(1)填充0 可以存储100,取出来还是100
int(10)填充0 可以存储100,取出来是0000000100
无符号只能存储大于等于0的数
有符号:
int(1)填充0 可以存储100,取出来还是100
int(10)填充0 可以存储100,取出来是0000000100
有符号可以存储负数
无符号:
int(1)填充0 可以存储100,取出来还是100
int(10)填充0 可以存储100,取出来是0000000100
无符号只能存储大于等于0的数
有符号:
int(1)填充0 可以存储100,取出来还是100
int(10)填充0 可以存储100,取出来是0000000100
有符号可以存储负数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询