关于mysql一些数据类型长度无法修改,如int类型长度强制为0的情况的一些解释

本文解析了MySQL 8.0中关于TINYINT, SMALLINT, MEDIUMINT, INT等类型长度固定的原因,由于显示宽度被废弃,长度修改受限。尽管不影响正常使用,但对于开发者了解底层原理有帮助。
摘要由CSDN通过智能技术生成

关于mysql一些数据类型长度无法修改,如int类型长度强制为0的情况的一些解释

前言

根据公司需求,写了几个新表,然后发现个别字段,如TINYINT, SMALLINT, MEDIUMINT, INT等类型会出现字段长度为0的情况,然后无论怎么修改都是无济于事。

原因

MySQL Server 8.0.17 deprecated the display width for the TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT data types when the ZEROFILL modifier is not used, and MySQL Server 8.0.19 has removed the display width for those data types from results of SHOW CREATE TABLE, SHOW CREATE FUNCTION, and queries on INFORMATION_SCHEMA.COLUMNS, INFORMATION_SCHEMA.ROUTINES, and INFORMATION_SCHEMA.PARAMETERS (except for the display width for signed TINYINT(1)). This patch adjusts Connector/J to those recent changes of MySQL Server and, as a result, DatabaseMetaData, ParameterMetaData, and ResultSetMetaData now report identical results for all the above-mentioned integer types and also for the FLOAT and DOUBLE data types. (Bug #30477722)

翻译过来的意思就是:

从8.0.17版本开始,TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT类型的显示宽度将失效。

所以才会出现上面说的几个类型无法修改长度。但是这个并不影响我们表的使用,基本上是可以忽略掉的细节!
完事跑路!

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值