开发者社区> 问答> 正文

mysql中int类型字段设置的长度貌似没有用

以下创建2个表

mysql> create table demo1 (num int(11));
Query OK, 0 rows affected (0.02 sec)

mysql> create table demo2 (num int(1));
Query OK, 0 rows affected (0.02 sec)

以下插入2条记录

mysql> insert into demo1 values (1582183)
    -> ;
Query OK, 1 row affected (0.00 sec)

mysql> insert into demo2 values (1582183)
    -> ;
Query OK, 1 row affected (0.00 sec)

查询两条记录

mysql> select * from demo1;
+---------+
| num     |
+---------+
| 1582183 |
+---------+
1 row in set (0.00 sec)

mysql> select * from demo2;
+---------+
| num     |
+---------+
| 1582183 |
+---------+
1 row in set (0.00 sec)

那么建表的时候 num int(11)num int(1) 的区别是?

展开
收起
道月芬1 2021-10-12 10:50:50 1707 0
1 条回答
写回答
取消 提交回答
  • int(11)设置的长度是声明式长度,无数值限制意义,而是一种位数显示设置,当位数不足时mysql默认不填充,设计表时也可选择填充为0

    image.png

    image.png

    2021-10-12 11:34:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像