《Mysql學習簡單談談MySQL中的int(m)》要點:
本文介紹了Mysql學習簡單談談MySQL中的int(m),希望對您有用。如果有疑問,可以聯系我們。
MYSQL入門我們在設計表的時候,如果碰到需要設置int(整型)的時候,通常會依照慣例(大家都這樣寫)設置成int(11).那么這里為什么是11呢?代表的又是什么呢?
MYSQL入門以前我一直以為這里是在限制int顯示的寬度,后來仔細研究和通過上網查詢發現,事實并不是那樣的.
MYSQL入門確切的來說,這里的“寬度”只是一個“預期值”,它所代表的僅僅是你在設計數據表結構時,想讓該列日后顯示的值寬度為多少,但是具體存入值的寬度多少不會受任何影響.
MYSQL入門當然,它的作用不僅如此,在存入數據的時候,還是有一定區別的,這一點可以通過設置字段的zerofill可以看出.好比這里我們創建一個數據表,結構如下:
MYSQL入門
create table test (
num int(5) zerofill
);
MYSQL入門上面代碼創建一個名為test的表,結構很簡單,表中只有一個名為num的字段,類型為int,寬度為5,為了看出寬度便利,我們又添加一個zerofill屬性(該屬性會讓存入數值在不足寬度情況下,左側補0)
MYSQL入門然后我們開始插入數據:
MYSQL入門
mysql> insert into test values(1),(11),(123),(12345),(123456),(1234567);
Query OK, 6 rows affected (0.00 sec)
Records: 6 Duplicates: 0 Warnings: 0
MYSQL入門打印結果:
MYSQL入門
mysql> select * from test;
+---------+
| num |
+---------+
| 00001 |
| 00011 |
| 00123 |
| 12345 |
| 123456 |
| 1234567 |
+---------+
6 rows in set (0.00 sec)
MYSQL入門由以上結果,不難看出,如果字符少于設置(期望值)寬度,在設置了zerofill屬性的情況下,左側會統統補0;但是如果超出則不受任何影響.也便是說這里的int(m)中m只是一個預期值,和真實數據寬度并沒多大關系.
歡迎參與《Mysql學習簡單談談MySQL中的int(m)》討論,分享您的想法,維易PHP學院為您提供專業教程。