If you create a table using a numeric type like INT or BIGINT,
you might have been surprised by the numbers that appear in the
table's DESCRIBE:
mysql> CREATE TABLE test(a INT, b SMALLINT, c BIGINT);
Query OK, 0 rows affected (1.04 sec)
mysql> DESCRIBE test;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| a | int(11) | YES | | NULL | |
| b | smallint(6) | YES | | NULL | |
| c | bigint(20) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
I didn't put those values 11, 6, and 20 in there. Where did they
come from and what are they? They're the columns' "Display Width"
Well, for an integer type (the value in parentheses called the
display width of the field. This is …
[Read more]