在mysql中,mysql
INT[(M)] [UNSIGNED] [ZEROFILL]sql
普通大小的整數。帶符號的範圍是-2147483648到2147483647。無符號的範圍是0到4294967295。bash
其中UNSIGNED表明無符號的,若是在create table中使用如下建表語句:code
create table `table3`( `age` int(10) UNSIGNED );
則表示age是無符號的。table
提示query成功,也添加進去數據了,可是又一個警告。再查看table3,發現只插入了一個0;class
再說M,例如上例中int(10)這個10就是這個M,表示列寬度,可是這個只有這個M是沒有任何意義的。由於顯示寬度並不限制能夠在列內保存的值的範圍,也不限制超過列的指定寬度的值的顯示。擴展
當結合可選擴展屬性ZEROFILL使用時, 默認補充的空格用零代替。例如,對於聲明爲INT(5) ZEROFILL的列,值4檢索爲00004。請注意若是在整數列保存超過顯示寬度的一個值,當MySQL爲複雜聯接生成臨時表時會遇到問題,由於在這些狀況下MySQL相信數據適合原列寬度。im
而當使用ZEROFILL時,MySQL自動爲該列添加UNSIGNED屬性。數據