mysql基础之四:int(M)中M的含义
? 昨天寫sql文件時把以前一直不是很明白的地方弄明白了,就是在設置int型的時候,需要設置int(M),以前知道這個M最大是255,但是到底應該設置多少并沒有在意。
? 查了下官方manual?有這樣的語句:
?????M?indicates the?maximum display width?for integer types. The maximum legal display width is 255.
???? 這個M?就是maximum display width。那什么是maximum display width?看了下面的例子很容易說明了,注意zerofill?:
?
?mysql>?create table b ( b int (4));?
Query OK, 0 rows affected (0.25 sec)
mysql>?insert into b values (?12345?);?
Query OK, 1 row affected (0.00 sec)
mysql>?select * from b;?
+-------+
| b???? |
+-------+
| 12345 |
+-------+
1 row in set (0.00 sec)
mysql>?alter table b change b b int(11);?
Query OK, 1 row affected (0.00 sec)
Records: 1??Duplicates: 0??Warnings: 0
mysql>?select * from b;?
+-------+
| b???? |
+-------+
|?12345?|
+-------+
1 row in set (0.00 sec)
mysql>?alter table b change b b int(11)?zerofill?;?
Query OK, 1 row affected (0.00 sec)
Records: 1??Duplicates: 0??Warnings: 0
mysql>?select * from b?;
+-------------+
| b?????????? |
+-------------+
| 000000?12345?|
+-------------+
1 row in set (0.00 sec)
mysql>?alter table b change b b int(4)?zerofill?;?
Query OK, 1 row affected (0.08 sec)
Records: 1??Duplicates: 0??Warnings: 0
mysql>?select * from b?;
+-------+
| b???? |
+-------+
| 10000 |
+-------+
1 row in set (0.00 sec)
mysql>?alter table b change b b int(6)?zerofill?;?
Query OK, 1 row affected (0.01 sec)
Records: 1??Duplicates: 0??Warnings: 0
mysql>?select * from b;?
+--------+
| b??????|
+--------+
| 0?12345?|
+--------+
1 row in set (0.00 sec)
???? 以上的例子說明了,這個M?的表示顯示寬度,他跟著zerofill?一起才有意義。就算前面設置的M的值比數值實際的長度小對數據也沒有任何影響。
總結
以上是生活随笔為你收集整理的mysql基础之四:int(M)中M的含义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网卡 远程唤醒问题故障排除
- 下一篇: Android游戏的心跳效果