MySQL int(M) 中 M 的作用
在数据库设计时,我们经常会这样设置 int(M)
⚠️ 误区:大部分人把这个 M 当做能够存储多少位的数据,其实不然,这个M表示的是“显示宽度”。
使用场景:在前端的要显示一个 integer
类型的数据,数据库里设置对应的数据类型 int(4)
,但是写入的数据不足 4
位时,那么就会在左侧填充空格(如果开启 zerofill
,则填充 0
),以保证够 4
位,那么在前端显示的时候就是对应 4
个宽度的要求了。
官方强调,用不用这个
M
主要取决于你程序的需要 (Whether it is used or not is up to the application
),因为这个“显示宽度”并不限制可以存储在列中的值的范围。
以上是根据上面官方截图的理解,详见:http://dev.mysql.com/doc/refman/5.6/en/numeric-type-attributes.html