《Mysql學(xué)習(xí)簡(jiǎn)單談?wù)凪ySQL中的int(m)》要點(diǎn):
本文介紹了Mysql學(xué)習(xí)簡(jiǎn)單談?wù)凪ySQL中的int(m),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
MYSQL入門(mén)我們?cè)谠O(shè)計(jì)表的時(shí)候,如果碰到需要設(shè)置int(整型)的時(shí)候,通常會(huì)依照慣例(大家都這樣寫(xiě))設(shè)置成int(11).那么這里為什么是11呢?代表的又是什么呢?
MYSQL入門(mén)以前我一直以為這里是在限制int顯示的寬度,后來(lái)仔細(xì)研究和通過(guò)上網(wǎng)查詢發(fā)現(xiàn),事實(shí)并不是那樣的.
MYSQL入門(mén)確切的來(lái)說(shuō),這里的“寬度”只是一個(gè)“預(yù)期值”,它所代表的僅僅是你在設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)時(shí),想讓該列日后顯示的值寬度為多少,但是具體存入值的寬度多少不會(huì)受任何影響.
MYSQL入門(mén)當(dāng)然,它的作用不僅如此,在存入數(shù)據(jù)的時(shí)候,還是有一定區(qū)別的,這一點(diǎn)可以通過(guò)設(shè)置字段的zerofill可以看出.好比這里我們創(chuàng)建一個(gè)數(shù)據(jù)表,結(jié)構(gòu)如下:
MYSQL入門(mén)
create table test (
num int(5) zerofill
);
MYSQL入門(mén)上面代碼創(chuàng)建一個(gè)名為test的表,結(jié)構(gòu)很簡(jiǎn)單,表中只有一個(gè)名為num的字段,類型為int,寬度為5,為了看出寬度便利,我們又添加一個(gè)zerofill屬性(該屬性會(huì)讓存入數(shù)值在不足寬度情況下,左側(cè)補(bǔ)0)
MYSQL入門(mén)然后我們開(kāi)始插入數(shù)據(jù):
MYSQL入門(mén)
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入門(mén)打印結(jié)果:
MYSQL入門(mén)
mysql> select * from test;
+---------+
| num |
+---------+
| 00001 |
| 00011 |
| 00123 |
| 12345 |
| 123456 |
| 1234567 |
+---------+
6 rows in set (0.00 sec)
MYSQL入門(mén)由以上結(jié)果,不難看出,如果字符少于設(shè)置(期望值)寬度,在設(shè)置了zerofill屬性的情況下,左側(cè)會(huì)統(tǒng)統(tǒng)補(bǔ)0;但是如果超出則不受任何影響.也便是說(shuō)這里的int(m)中m只是一個(gè)預(yù)期值,和真實(shí)數(shù)據(jù)寬度并沒(méi)多大關(guān)系.
歡迎參與《Mysql學(xué)習(xí)簡(jiǎn)單談?wù)凪ySQL中的int(m)》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13112.html