尝试使用 SQL Server Management Studio(编辑行)将数据添加到新创建的列时,出现以下错误:
没有更新任何行。
第 1 行中的数据未提交。
错误来源:.Net SqlClient 数据提供程序。
错误消息:字符串或二进制数据将被截断。
该语句已终止。
更正错误并重试或按 ESC 取消更改。
该列的数据类型是 nvarchar(150)。
更新:
我只插入几个 ascii 字符(例如:abc)。
这是其他人的数据库,要求我查看它...我发现:a)只有一些行给出此错误 b)给出此错误的行在另外两列中有长字符串(一个是 nvarchar(max) , 一个是 ntext)。
当您超过列的数据类型的长度时,通常会发生此错误。您是否在列中插入超过 150 个字符?
ntext
当表混合了数据类型和数据类型时,我曾经遇到过这种情况nvarchar(MAX)
。将所有ntext
s更改为 s 可以nvarchar(MAX)
解决问题。当我错误地超过了字段可以容纳的字符数时,我收到了这个错误。在 Visual Studio 中,我错误地插入了一个数据类型为nvarchar(1)的字段,并试图将一个包含 6 个字符的单词保存到该字段中。一旦我更改为nvarchar(50),它就可以正常工作。希望这可以帮助某人。
通常在尝试插入更多符号时会发生这种情况,即赋予该字段的内容。转到
Design
,检查Data Type
示例字段的字段,Data Type = nvarchar(20)
您尝试设置 30 个字符微软 SQL 服务器 2014
我在尝试编辑表中的一行时遇到了这个错误,该表甚至有一个 type 字段
text
。即使在 SSMS 18(2021 年)中,这似乎仍然是一个问题。