当前位置:网站首页>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: 0
Insert 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 !
边栏推荐
- Day 248/300 thoughts on how graduates find jobs
- Oscp raven2 target penetration process
- 机器人类专业不同层次院校课程差异性简述-ROS1/ROS2-
- Day 248/300 关于毕业生如何找工作的思考
- How effective is the Chinese-English translation of international economic and trade contracts
- Facebook AI & Oxford proposed a video transformer with "track attention" to perform SOTA in video action recognition tasks
- 自动化测试环境配置
- 英语论文翻译成中文字数变化
- Wish Dragon Boat Festival is happy
- 云上有AI,让地球科学研究更省力
猜你喜欢
(practice C language every day) reverse linked list II
It is necessary to understand these characteristics in translating subtitles of film and television dramas
Introduction and underlying analysis of regular expressions
[ 英語 ] 語法重塑 之 動詞分類 —— 英語兔學習筆記(2)
What are the commonly used English words and sentences about COVID-19?
女生学软件测试难不难 入门门槛低,学起来还是比较简单的
Use shortcut LNK online CS
SAP SD发货流程中托盘的管理
翻译生物医学说明书,英译中怎样效果佳
Lesson 7 tensorflow realizes convolutional neural network
随机推荐
MySQL5.72. MSI installation failed
Data security -- 13 -- data security lifecycle management
Day 246/300 SSH connection prompt "remote host identification has changed!"
Apple has open source, but what about it?
[web security] nodejs prototype chain pollution analysis
Day 246/300 ssh连接提示“REMOTE HOST IDENTIFICATION HAS CHANGED! ”
Py06 dictionary mapping dictionary nested key does not exist test key sorting
Attributeerror successfully resolved: can only use cat accessor with a ‘category‘ dtype
Day 248/300 thoughts on how graduates find jobs
生物医学本地化翻译服务
【软件测试进阶第1步】自动化测试基础知识
Esp32 esp-idf watchdog twdt
女生学软件测试难不难 入门门槛低,学起来还是比较简单的
[ 英語 ] 語法重塑 之 動詞分類 —— 英語兔學習筆記(2)
基于购买行为数据对超市顾客进行市场细分(RFM模型)
P5706 [deep foundation 2. Example 8] redistributing fat house water -- February 13, 2022
LeetCode 731. My schedule II
UniPro甘特图“初体验”:关注细节背后的多场景探索
Traffic encryption of red blue confrontation (OpenSSL encrypted transmission, MSF traffic encryption, CS modifying profile for traffic encryption)
论文翻译英译中,怎样做翻译效果好?