SQL算术溢出

时间:2015-10-15 22:30:28

标签: sql math sql-insert

我有这个问题:

Insert into Course(name,age,id,facebookuser)
Values('Example',25,204813,blalbla@walla.com),
('Exmnumtwo',35,504813,email@walla.com)

这给了我错误8115:"算术溢出错误将表达式转换为数据类型int"。

然而,当我删除','标志,一切正常,没有任何错误。导致错误的原因是什么?

2 个答案:

答案 0 :(得分:2)

id表的Course字段可能设置为smallint,其最大值为32,767。

id字段的数据类型设置为int,以将最大值增加到2,147,483,647。

SQL Server中的整数数据类型列表:https://msdn.microsoft.com/en-AU/library/ms187745.aspx

答案 1 :(得分:0)

基于你发给我的png http://up415.siz.co.il/up3/tm3jjmurzzmx.png

您需要确保您的ID符合数据大小。您的实际数据将溢出32位有符号整数,因此您需要将您的ID类型设置为64位(或32位无符号),或者选择具有较小数字的ID,如上例所示,因为您没有引用电子邮件地址而失败。 / p>