当前位置:网站首页>What is the difference between int (1) and int (10)? Senior developers can't tell!
What is the difference between int (1) and int (10)? Senior developers can't tell!
2022-07-06 06:46:00 【Java notes shrimp】
Click on the official account , utilize Fragment time to learn
confused
I have a problem recently , If you have a watch, you need to add user_id Field ,user_id Fields can be very large , So I mentioned mysql The repair order alter table xxx ADD user_id int(1). The leader saw my sql The repair order , So he said : this int(1) I'm afraid it's not enough , Next is an explanation .
In fact, this is not the first time I have encountered such a problem , Many of them have jobs 5 An old driver of more than years . Including I often see that my colleagues have been using int(10), It feels like it's working int(1), The upper limit of the field is limited , This is certainly not the case .
Data speak
We know that mysql in int Occupy 4 Bytes , So for unsigned int, The maximum is 2^32-1 = 4294967295, nearly 40 Billion , Did you use it int(1), Can't you reach this maximum ?
CREATE TABLE `user` (
`id` int(1) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;id The field is unsigned int(1), Let me insert a maximum to see .
mysql> INSERT INTO `user` (`id`) VALUES (4294967295);
Query OK, 1 row affected (0.00 sec) You can see the success , explain int Back number , No effect int Size supported by itself ,int(1)、int(2)...int(10) No difference .
Zero fill
commonly int Back number , coordination zerofill It works when used together . Let's take an example :
CREATE TABLE `user` (
`id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; Be careful int(4) There's a... In the back zerofill, Let's insert 4 Data .
mysql> INSERT INTO `user` (`id`) VALUES (1),(10),(100),(1000);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0Insert separately 1、10、100、1000 4 Data , Then let's check :
mysql> select * from user;
+------+
| id |
+------+
| 0001 |
| 0010 |
| 0100 |
| 1000 |
+------+
4 rows in set (0.00 sec)Through the data, we can find int(4) + zerofill Realized the deficiency 4 Place complement 0 The phenomenon of , only int(4) It's no use .
And for 0001 such , The underlying storage is still 1, Just in the show will make up 0.
summary
int The following number cannot represent the length of the field ,int(num) General plus zerofill, It works .zerofill The function of can generally be used in some numbers related to numbers , For example, the student's number 001 002 ... 999 such , If mysql There is no function of zero padding , But when you have to format and output numbers of equal length , Then you have to deal with it yourself .

source :juejin.cn/post/6992574502282477605
recommend :
Main stream Java Advanced technology ( Learning material sharing )

PS: Because the official account platform changed the push rules. , If you don't want to miss the content , Remember to click after reading “ Looking at ”, Add one “ Star standard ”, In this way, each new article push will appear in your subscription list for the first time . spot “ Looking at ” Support us !
边栏推荐
- Distributed system basic (V) protocol (I)
- 基於JEECG-BOOT的list頁面的地址欄參數傳遞
- Facebook AI & Oxford proposed a video transformer with "track attention" to perform SOTA in video action recognition tasks
- Lesson 7 tensorflow realizes convolutional neural network
- LeetCode每日一题(1870. Minimum Speed to Arrive on Time)
- 国际经贸合同翻译 中译英怎样效果好
- 成功解决AttributeError: Can only use .cat accessor with a ‘category‘ dtype
- 翻译生物医学说明书,英译中怎样效果佳
- Monotonic stack
- Drug disease association prediction based on multi-scale heterogeneous network topology information and multiple attributes
猜你喜欢

利用快捷方式-LNK-上线CS

Leetcode daily question (971. flip binary tree to match preorder traversal)

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

ML之shap:基于adult人口普查收入二分类预测数据集(预测年收入是否超过50k)利用Shap值对XGBoost模型实现可解释性案例之详细攻略

翻译生物医学说明书,英译中怎样效果佳

My seven years with NLP

女生学软件测试难不难 入门门槛低,学起来还是比较简单的

SQL Server manager studio(SSMS)安装教程

How to translate biomedical instructions in English

LeetCode 739. Daily temperature
随机推荐
Fledgling Xiao Li's 103rd blog CC2530 resource introduction
Lecture 8: 1602 LCD (Guo Tianxiang)
翻译公司证件盖章的价格是多少
Day 248/300 thoughts on how graduates find jobs
How to do a good job in financial literature translation?
利用快捷方式-LNK-上线CS
E-book CHM online CS
Use shortcut LNK online CS
What are the commonly used English words and sentences about COVID-19?
万丈高楼平地起,每个API皆根基
[web security] nodejs prototype chain pollution analysis
Data security -- 13 -- data security lifecycle management
女生学软件测试难不难 入门门槛低,学起来还是比较简单的
Phishing & filename inversion & Office remote template
How do programmers remember code and programming language?
[mqtt from getting started to improving series | 01] quickly build an mqtt test environment from 0 to 1
翻译影视剧字幕,这些特点务必要了解
CS certificate fingerprint modification
Erreur de type résolue avec succès: type de données « catégorie» non sous - jacente
University of Manchester | dda3c: collaborative distributed deep reinforcement learning in swarm agent systems