我目前在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/

10-13 05:54