1. 首页 > 数据库技术

mysql字段使用int类型,不能保存-1值,报错?

MySQL中的INT是 整数数据类型,它是一个整数。 它允许数字不带小数部分(没有小数部分)。例如,1、5,-10是整数类型,而1.5、5/7不能是整数。请注意,整数值可以是 正,负或零


整数类型范围

下表说明了每种整数类型的特征,包括每种整数类型所需的存储空间和范围(最小值和最大值)。
类型字节最小值最大值
TINIINT1-128127
SMALLINT2-3276832767
MEDIUMINT3-83886088388607
INT4-21474836482147483647
BIGINT8-92233720368547758089223372036854775807
我们将要使用的数据类型的选择取决于我们将要存储的数据类型。例如,TINYINT数据类型足以满足一个班级最多可容纳35人的学生人数。但是,如果需要在一个国家/地区存储每个人的联系电话,则必须选择INT或BIGINT数据类型。 只要有可能,最好选择最小的数据类型,因为它会最小化数据库的大小。 

unsigned的用法


unsigned 是mysql自定义的类型,表示无符号数值即非负数。signed为整型默认属性。

在mysql数据库中,unsigned表面含义是 '无符号’的意思,unsigned既为非负数,用此类型可以增加数据长度.

例如,如果 int最大是2147683647,那 tint unsigned 最大 就可以到 2147683647 * 2;以tinyint为例,它的取值范围-128-127,加不加signed都默认此范围。加上unsigned表示范围0-255,其实相当于把负数那部分加到正数上。例如身高、体重或者年龄等字段一般不会为负数,此时就可以设置一个 UNSIGNED ,不允许负数插入。

与unsigned类似的还有binary,unsigned 属性只针对整型,而binary属性只用于char 和varchar。


保存-1值报错解决办法

下你定义数据类型的时候,是不是加了unsigned,如果是int(10) unsigned就不能使用负数了只能使用正数。
phpMyAdmin的unsigned在哪里?表机构中的属性可以看到unsigned。
navicat的unsigned在哪里?自动增长列下面那个选项就是unsigned。


本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/shujuku/8404.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:8:30-17:30,节假日休息