我目前在MySQL数据库中有一些表,在这些表中,我声明id
字段的类型为SMALLINT(6)
(这是正确的,因为SMALLINT
仅转到65535 [长度为5])。我已经阅读了整数类型下的here,当它是UNSIGNED
时,范围从正数增加到65535。如果我专门将id
字段的属性更改为UNSIGNED
,这会对数据库产生怎样的影响?另外,从SMALLINT
转到MEDIUMINT
时是否存在问题?
我的数据库类型是MyISAM。
最佳答案
从SMALLINT
切换到MEDIUMINT
应该没问题-不会丢失任何数据。
MySQL中的普通整数可以是下限和上限之间的任何数字。对于带符号整数,下限为负数,上限为正数。带符号的SMALLINT
可以在-32768和32767之间。但是,无符号整数只能是正数。下限为零,上限为65535。
不过,我通常使用INT
作为ID。我希望对ID字段设置一个上限,以至于永远都不能达到它。
关于mysql - 具有SMALLINT id字段的MySQL数据库表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5288506/