sql报错 Out of range value for column ‘**‘ at row
sql语句报错:Out of range value,一般是超出了数值范围。
我在数据库中定义的字段为:
ADD COLUMN `score` tinyint(3) NOT NULL DEFAULT '0' COMMENT '得分'
但是因为分数有时计算后的负值超出-128,所以就会报错。所以如果得分字段定义上直接使用int类型,存储长度默认就好了
MODIFY COLUMN `score` int NOT NULL DEFAULT 0 COMMENT '得分'
这里对int类型进行一个详细说明:
tinyint(1) 和 tinyint(3) 中的1和3并不表示存储长度,只有字段指定zerofill才有效果
例如:tinyint(3),实际值是1,如果列指定了zerofill,查询结果就是001,左边用0来填充。