Understanding the Difference Between Tinyint(2) and Tinyint(1)
MySQL's tinyint data type is commonly used to store boolean values as tinyint(1). However, it's possible to encounter tables that define tinyint columns with a size of (2) or higher. Additionally, other integer types like int may have varying sizes such as int(4), int(6), and so on.
What Do the Sizes Mean?
The numeric value specified within the data type parenthesis, (m), represents the column display width. Display width defines the number of characters displayed in query results and is utilized by client applications like the MySQL command line client.
For example, if three columns are defined as TINYINT(1), TINYINT(2), and TINYINT(3), values will be padded with spaces on the left to match the specified display width:
v (TINYINT(1)) | a (TINYINT(2)) | b (TINYINT(3)) | c (TINYINT(3)) |
---|---|---|---|
1 | 1 | 1 | 1 |
10 | 10 | 10 | 10 |
100 | 100 | 100 | 100 |
Important Note: The display width does not affect the accepted range of values for the data type. For instance, TINYINT(1) can still hold values ranging from -128 to 127, even with a specified display width of 2 or more.
The above is the detailed content of What\'s the Difference Between `tinyint(2)` and `tinyint(1)` in MySQL?. For more information, please follow other related articles on the PHP Chinese website!