mysql字段使用int类型,不能保存-1值,报错?
MySQL中的INT是 整数数据类型,它是一个整数。 它允许数字不带小数部分(没有小数部分)。例如,1、5,-10是整数类型,而1.5、5/7不能是整数。请注意,整数值可以是 正,负或零。
整数类型范围
类型 | 字节 | 最小值 | 最大值 |
TINIINT | 1 | -128 | 127 |
SMALLINT | 2 | -32768 | 32767 |
MEDIUMINT | 3 | -8388608 | 8388607 |
INT | 4 | -2147483648 | 2147483647 |
BIGINT | 8 | -9223372036854775808 | 9223372036854775807 |
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