我们在MYSQL中创建表的时候,可能常常使用int(10),然后这个10代表具体意义究竟是什么呢?它和varchar(10)中10又有什么区别呢?
对于整形数据,mysql支持在类型名称后面的小括号内指定显示宽度。显示宽度一般配合zerofill使用。zerofill顾名思义就是使用0来填充。当数字位数不够显示的宽度的时候,使用0填充。
如果不配合使用zerofill,则mysql中设置显示宽度没有效果
创建一个表
CREATE TABLE `t1` ( `id1` int(3) unsigned zerofill NOT NULL DEFAULT '000', `id2` int(3) unsigned zerofill NOT NULL DEFAULT '000' ) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入数据测试
INSERT INTO `t1`(`id1`,`id2`) VALUES(123456,12);
备注:如果设置宽度现在后,插入大于宽度限制的值,不会发送截断或者是插入报错。当插入的值宽度大于设置的宽带时候,宽度格式实际上已经没有任何意义了
以上就是关于MySQL中数据类型显示宽度n的内容,更多相关内容请关注PHP中文网(www.php.cn)!