的Sql算术溢出
我有这个疑问:的Sql算术溢出
Insert into Course(name,age,id,facebookuser)
Values('Example',25,204813,[email protected]),
('Exmnumtwo',35,504813,[email protected])
这给我的错误8115:“算术溢出错误将表达式转换为数据类型为int”。
但是,当我删除','标志时,一切正常,没有任何错误。什么导致了错误?
基础上,PNG,你送我http://up415.siz.co.il/up3/tm3jjmurzzmx.png
,你需要确保你的ID融入数据大小。您的实际数据会溢出32位有符号整数,因此您需要将您的id类型设为64位(或32位无符号)或选择具有较小号码的ID,如上例所示,因为您未引用电子邮件地址而失败。
我不喜欢不相信。我真是个白痴。这是错误。我怎么能给id变量64位? (对不起床英语。) – Antonio
当你定义模式时,尝试bigint类型。请选择我的答案作为正确的时候完成:) – spirographer
@spirographer我做了你的答案。我还有一个问题,如果你能帮助我,我会很高兴。当我使用where“something”= string时,我必须使用where“something”like string,如果我使用=它给我一个错误。什么问题使用=而不是像? – Antonio
看起来您的Course
表的id
字段可能设置为smallint
,其最大值为32,767。
将id
字段的数据类型设置为int
以将最大值增加到2,147,483,647。在SQL Server
列表整数数据类型:https://msdn.microsoft.com/en-AU/library/ms187745.aspx
'INSERT INTO课程(姓名,年龄,身份证,facebookuser) VALUES( '例',25,204813, 'blalbla @ walla.com'), ('Exmnumtwo',35,504813,'email @ walla.com')' – lad2025
@ lad2025我没有看到我们的代码之间的任何区别。帮帮我 ? – Antonio
您需要将引号添加到电子邮件地址! – spirographer