MEDIUMINT
Medium-sized integer. A MEDIUMINT column uses 3 bytes and stores values from -8388608 to 8388607 (signed) or 0 to 16777215 (unsigned).
Syntax
MEDIUMINT[(M)] [SIGNED | UNSIGNED | ZEROFILL]Description
A medium-sized integer. The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.
ZEROFILL pads the integer with zeroes and assumes UNSIGNED (even if UNSIGNED is not specified).
INT3 is a synonym for MEDIUMINT.
For details on the attributes, see Numeric Data Type Overview.
Examples
With strict_mode set
CREATE TABLE mediumints (a MEDIUMINT,b MEDIUMINT UNSIGNED,c MEDIUMINT ZEROFILL);
DESCRIBE mediumints;
+-------+--------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------------------------+------+-----+---------+-------+
| a | mediumint(9) | YES | | NULL | |
| b | mediumint(8) unsigned | YES | | NULL | |
| c | mediumint(8) unsigned zerofill | YES | | NULL | |
+-------+--------------------------------+------+-----+---------+-------+SIGNED and UNSIGNED
The MEDIUMINT data type may be SIGNED (allowing negative values) or UNSIGNED (not allowing negative values).
Example of MEDIUMINT SIGNED (the default):
Example of MEDIUMINT UNSIGNED:
Out of Range
A value is considered "out of range" when it is too small or too large to be stored in a data type. When sql_mode=STRICT_TRANS_TABLES (the default) is set, an out-of-range value generates an error. If strict mode is not in effect, the value is rounded to the nearest valid value and a warning is generated (which might be hidden, depending on your warning settings).
An example of non-strict out-of-range behavior:
MEDIUMINT ZEROFILL
A special type of MEDIUMINT UNSIGNED is MEDIUMINT ZEROFILL, which pads out the values with leading zeros in SELECT results. The number of leading zeros are just enough to pad the field out to the length of the type's maximum unsigned value, but the zeros are not included in an expression result or in a UNION SELECT column.
Using MEDIUMINT ZEROFILL works the same way as MEDIUMINT UNSIGNED for most operations except a simple SELECT. For example, with the following test table setup:
The resulting data would look like this:
See Also
This page is licensed: GPLv2, originally from fill_help_tables.sql
Last updated
Was this helpful?

