我的代码在单个测试中运行良好。 id
以1开头并以1递增。但是当我在django中测试整个运行时,我发现了这个错误。
例如,插入了id
601193234094856941
。在整个运行中,我有不超过10000个插入。在我们的开发环境中会出现此问题。
我们有一个解决方法,但我们希望了解它的工作原理并找到解决方案。
(' 22003',' [22003] [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]将表达式转换为数据类型int的算术溢出错误。(8115)(SQLExecDirectW )')",
所有变量均为bigint
。上面的id已经正确地插入到数据库中,但显然id达到了bigint
的最大值以后的值,后来插入。
答案 0 :(得分:0)
根据您提供的信息,这似乎是预期的结果。引用ID 601193234094856941超过INT类型的值。下面的代码抛出错误"算术溢出错误将表达式转换为数据类型int。"。您是否有其他信息可以帮助解决您的问题?
DECLARE @big BIGINT = 601193234094856941
, @regular INT;
SET @regular = @big;