开发者社区> 问答> 正文

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 1715 0
1 条回答
写回答
取消 提交回答
  • int(11)设置的长度是声明式长度,无数值限制意义,而是一种位数显示设置,当位数不足时mysql默认不填充,设计表时也可选择填充为0

    image.png

    image.png

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

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像