重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CREATE PROCEDURE testproc (IN v_i integer )
创新互联从2013年成立,先为相城等服务建站,相城等地企业,进行企业商务咨询服务。为相城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
BEGIN
if v_i 0 then
select v_i as '负数';
else
select v_i as '正数';
end if;
END$$
delimiter ;
是nid的值超过int(11)的最大值了\
是超出了,mysql中int型数据的最大值是2147483647, 要想保存这么大的数据必须将数据类型改成改成bigint
以下参考
bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。
int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。
FLOAT或者DOUBLE都可以
补充:
类型肯定是这样的,可能是你的数据文件格式不对,你可以在记事本里面看一看,是否以TAB进行字段之间的分隔,另外可以考虑把“-.”替换为“-0.”
看数据库中的字段的设计,一般设置为数值即可保存负值,也可以用文字段保存,取出后自行转换成数字即可。