一、关于int(1)与int(10) 一、问题背景 最近遇到个问题,有个表的要加个user_id字段,user_id字段可能很大,于是我提mysql工单alter table xxx ADD user_id int(1)。领导看到我的sql工单,于是说:这int(1)怕是不够用吧,接下来是一通解释。
int(1)和int(10)在数值范围上没有区别,它们的区别仅在于显示宽度,以下是关于这两个参数的主要区别: –int(1): 适用于只需要单数字显示的场景,或者在不需要考虑显示宽度的场合。 –int(10): 适用于需要固定宽度显示的场景,例如在打印报表或与某些外部系统对接时。 在设计和使用数据库时,应根据实际需求选择合适...
MySQL中int(1)和int(10)有什么区别 你以为int(10)允许存放的数据比int(1)大。 其实是一样大小,它不会限制值的合法范围。 无符号型的话,都是4294967295,42亿(4个字节,占32位,最大值就是2的32次方减1)有符号型就是2的31次方减1。 那它们的区别是? 搭配zerofill时有区别,它规定了MySQL的一些交互工具(...
INT[(M)] [UNSIGNED] [ZEROFILL] 普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。 INT(1) 和 INT(10)本身没有区别,但是加上(M)值后,会有显示宽度的设置。 如代码所示: mysql> create table test(id int(3)); Query OK, 0 rows affected (0.47 sec) mysql> in...
可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别。 3 零填充 一般int后面的数字,配合zerofill一起使用才有效。先看个例子: CREATE TABLE `user` ( `id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT, ...
mysql中int(1)与int(10)的区别 INT[(M)] [UNSIGNED] [ZEROFILL]普通⼤⼩的整数。带符号的范围是-2147483648到2147483647。⽆符号的范围是0到4294967295。INT(1) 和 INT(10)本⾝没有区别,但是加上(M)值后,会有显⽰宽度的设置。如代码所⽰:mysql> create table test(id int(3));Query OK...
int后面的数字不能表示字段的长度,int(num)一般加上zerofill,才有效果。zerofill的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 ... 999这种,如果mysql没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自
可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别。 零填充 一般int后面的数字,配合zerofill一起使用才有效。先看个例子: CREATETABLE`user` ( `id`int(4) unsigned zerofillNOTNULLAUTO_INCREMENT,PRIMARYKEY (`id`) ...
Query OK, 1 row affected (0.00 sec) 可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)…int(10)没什么区别。 零填充 一般int后面的数字,配合zerofill一起使用才有效。先看个例子: CREATE TABLE `user` ( `id` int(4) unsigned zerofill NOT NULL AUTO_INCREMENT, ...
mysql> INSERT INTO `user` (`id`) VALUES (4294967295); Query OK, 1 row affected (0.00 sec) 可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别。 零填充 一般int后面的数字,配合zerofill一起使用才有效。先看个例子: ...