【发布时间】:2016-08-06 10:43:18
【问题描述】:
当我为特定表运行更新/插入语句时,我返回以下错误:
* 错误 8152 *(rc -1) : SQLSTATE = 22001 Microsoft SQL Server 本地客户端 10.0 字符串或二进制数据将被截断。
我已经手动浏览了我正在尝试更新的表,以查看是否有任何值大于该列允许的最大 varchar,并且使用以下脚本找不到任何内容:
select max(len(COLUMN_NAME)) from TABLE_NAME
有没有办法在数据库中查询超出其列的最大允许字符数的所有列中的值?
【问题讨论】:
-
显示更新/插入查询。这实际上是必不可少的部分
-
您找错地方了 - 您正在寻找太大的现有数据。您需要查看的是哪些数据被添加到表中。查看
UPDATE/INSERT语句和那里的值。 -
数据太大而无法放入列中,因为它对于列来说太大,所以不会在列中您的 UPDATE 或 INSERT 语句正在将数据加载到表中,并且是该数据它正在加载包含太大的数据。 Also this is a very well known PIA error from MS Sql Server 它只是告诉你某些东西太大了,甚至不会告诉你它对于哪一列来说太大了。自 2008 年以来,他们一直想解决这个问题。
-
现有数据不能太大,已经插入成功。
标签: sql sql-server