int(1) 和 int(10) 有什么區(qū)別?資深開發(fā)竟然都理解錯了!
閱讀本文大概需要 2.8 分鐘。
來自:juejin.cn/post/6992574502282477605
困惑
alter table xxx ADD user_id int(1)。領導看到我的sql工單,于是說:這int(1)怕是不夠用吧,接下來是一通解釋。數(shù)據(jù)說話
CREATE?TABLE?`user`?(
??`id`?int(1)?unsigned?NOT?NULL?AUTO_INCREMENT,
???PRIMARY?KEY?(`id`)
)?ENGINE=InnoDB?AUTO_INCREMENT=1?DEFAULT?CHARSET=utf8mb4;
mysql>?INSERT?INTO?`user`?(`id`)?VALUES?(4294967295);
Query?OK,?1?row?affected?(0.00?sec)
零填充
CREATE?TABLE?`user`?(
??`id`?int(4)?unsigned?zerofill?NOT?NULL?AUTO_INCREMENT,
???PRIMARY?KEY?(`id`)
)?ENGINE=InnoDB?AUTO_INCREMENT=1?DEFAULT?CHARSET=utf8mb4;
mysql>?INSERT?INTO?`user`?(`id`)?VALUES?(1),(10),(100),(1000);
Query?OK,?4?rows?affected?(0.00?sec)
Records:?4??Duplicates:?0??Warnings:?0
mysql>?select?*?from?user;
+------+
|?id???|
+------+
|?0001?|
|?0010?|
|?0100?|
|?1000?|
+------+
4?rows?in?set?(0.00?sec)
總結(jié)

評論
圖片
表情
