我的代码在一次测试中运行良好。id
从1开始。
例如,插入了id
601193234094856941
。在整个运行中,我不超过10000个插入物。这个问题发生在我们的开发环境中。
我们有一个工作,但我们想了解它的工作原理并找到解决方案。
('22003','[22003] [Microsoft] [SQL Server的ODBC驱动程序13] [SQL Server]算术溢出错误将表达式转换为数据类型int。(8115)(SQLEXECECDIRECTW)(SQLESECECDIRECTW)'),
所有变量均为bigint
。上面的ID已正确插入数据库中,但显然ID在bigint
的最大值上达到了一个值。
根据您提供的信息,这似乎是预期的。参考ID 601193234094856941超过INT类型的值。下面的代码引发了"算术溢出错误将表达式转换为数据类型int"的错误。您是否有其他信息可以提供可能有助于解决您的问题?
DECLARE @big BIGINT = 601193234094856941
, @regular INT;
SET @regular = @big;