Int(M)Mにおける意味



 :
    ANSI/ISO SQL92        ,MySQL         TINYINT、MEDIUMINT   BIGINT。
        MySQL                  ,                     (   INT(4))。
                    ,                       ,
                 ,                             。
          ZEROFILL      ,            。
    ,        INT(5) ZEROFILL,     4         00004。

  ,                        ,  MySQL         (join)      ,
        ,        ,MySQL                   。 (      )

  :
M indicates the maximum display width for integer types. The maximum legal display width is 255. 
Display width is unrelated to the range of values a type can contain

  1  :
mysql> alter table b modify b int(2) ZEROFILL ;
Query OK, 2 rows affected (0.06 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql>
mysql>
mysql> select * from b;
+------+---------+------+
| a    | b       | c    |
+------+---------+------+
| NULL |      01 | NULL |
| NULL | 1111111 | NULL |
+------+---------+------+
2 rows in set (0.00 sec)



  2  :
mysql> select * from s left join b on s.f = b.b;
+---------+------+------+---------+------+
| f       | a    | a    | b       | c    |
+---------+------+------+---------+------+
|       2 |    4 | NULL |    NULL | NULL |
|       3 |    4 | NULL |    NULL | NULL |
|       4 |    5 | NULL |    NULL | NULL |
|       5 |    2 | NULL |    NULL | NULL |
|    1111 |    1 | NULL |    NULL | NULL |
| 1111111 | NULL | NULL | 1111111 | NULL |
+---------+------+------+---------+------+
6 rows in set (0.00 sec)

mysql> select * from b;
+------+---------+------+
| a    | b       | c    |
+------+---------+------+
| NULL |      01 | NULL |
| NULL | 1111111 | NULL |
+------+---------+------+
2 rows in set (0.00 sec)

mysql> select * from s;
+---------+------+
| f       | a    |
+---------+------+
|       2 |    4 |
|       3 |    4 |
|       4 |    5 |
|       5 |    2 |
|    1111 |    1 |
| 1111111 | NULL |
+---------+------+
6 rows in set (0.00 sec)