If I create a signed
MEDIUMINT column without a width specifier, MySQL automatically adds a width of 9. However, the range of a signed
MEDIUMINT is -8388608 to 8388607, which only needs 8 display characters max including the sign.
I tested all the other
*INT types without a width and the default width MySQL assigned matched the worst case maximum number of characters needed to output the datatype. Why does a signed
MEDIUMINT default to +1 character?