0
 INSERT INTO [CVSUAT].[dbo].[UserLevel ]( 
  [Client_ID]
  ,[User_Level_Name]
  ,[User_Level_Description]
  ,[Created_by]
  ,[Created_Date]
  ,[Modified_by]
  ,[Modified_Date]
  ,[Delete_Flag]
  ,[Deactivate_Flag]) VALUES ('sndbsndbsdnbsndbsnbdnsbdn23','Client','','Client','2013-03-12 21:31:38.437','Client','2013-03-12 21:31:38.437','0','0')

消息 8152,级别 16,状态 4,第 1 行字符串或二进制数据将被截断。该语句已终止。

在此处输入图像描述

注意:我的表有一个空格 [UserLevel],因为它是从以前开始的

4

1 回答 1

1

这是由于试图将过多的数据放入列中造成的。

问题是,您的示例中指定的值对于您的架构图片中指示的列都不是太大。因此,我假设您给我们的值不是真实值,或者您在该表上有一个触发器,这实际上是导致错误的原因。

顺便说一句,您的Delete_FlagandDeactivate_Flag列不应该是数据类型位,而不是char(1)?

编辑:

哦,还有一件事 - 就像Client_IDnvarchar 一样,您可能希望在其中存储 unicode 数据。要在脚本中表明这一点,您应该在字符串上使用“N”前缀,如下所示:

INSERT INTO [CVSUAT].[dbo].[UserLevel ]( 
  [Client_ID]
  ,[User_Level_Name]
  ,[User_Level_Description]
  ,[Created_by]
  ,[Created_Date]
  ,[Modified_by]
  ,[Modified_Date]
  ,[Delete_Flag]
  ,[Deactivate_Flag]) VALUES (N'sndbsndbsdnbsndbsnbdnsbdn23','Client','','Client','2013-03-12 21:31:38.437','Client','2013-03-12 21:31:38.437','0','0')
于 2013-02-06T09:41:27.297 回答