22003 8115错误溢出bigint id

时间:2017-12-08 15:14:49

标签: sql-server django

我的代码在单个测试中运行良好。 id以1开头并以1递增。但是当我在django中测试整个运行时,我发现了这个错误。

例如,插入了id 601193234094856941。在整个运行中,我有不超过10000个插入。在我们的开发环境中会出现此问题。

我们有一个解决方法,但我们希望了解它的工作原理并找到解决方案。

  

(' 22003',' [22003] [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]将表达式转换为数据类型int的算术溢出错误。(8115)(SQLExecDirectW )')",

所有变量均为bigint。上面的id已经正确地插入到数据库中,但显然id达到了bigint的最大值以后的值,后来插入。

1 个答案:

答案 0 :(得分:0)

根据您提供的信息,这似乎是预期的结果。引用ID 601193234094856941超过INT类型的值。下面的代码抛出错误"算术溢出错误将表达式转换为数据类型int。"。您是否有其他信息可以帮助解决您的问题?

DECLARE @big       BIGINT = 601193234094856941
        , @regular INT;

SET @regular = @big;