尝试使用 SQL Server Management Studio(编辑行)将数据添加到新创建的列时,出现以下错误:
沒有更新任何行。
第 1 行的数据尚未提交。
错误来源:.Net SqlClient 数据提供程序。
错误消息:字符串或二进制数据将被截断。
该语句已终止。
更正错误并重试或按 ESC 取消更改。
该列的数据类型为 nvarchar(150)。
更新:
我只插入几个 ascii 字符(例如:abc)。
这是其他人的数据库,他们要求我对其进行研究...我发现:a)只有部分行出现此错误b)出现此错误的行在另外两列中有长字符串(一个是 nvarchar(max),一个是 ntext)。
答案1
当表中混合了ntext
和nvarchar(MAX)
数据类型时,我有时会遇到这种情况。将所有ntext
s 更改为nvarchar(MAX)
s 即可解决问题。
答案2
此错误通常发生在超出列的数据类型长度时。您是否在列中插入了超过 150 个字符?
答案3
当我错误地超出字段可以容纳的字符数时,我收到此错误。在 Visual Studio 中,我错误地插入了一个数据类型为nvarchar(1)并试图将一个包含 6 个字符的单词保存到该字段。一旦我更改为nvarchar(50),效果很好。希望这对某些人有帮助。
答案4
尝试编辑表中甚至只有一个类型字段的行时,我遇到了此错误text
。即使在 SSMS 18(2021 年)中,它似乎仍然是一个问题。