尝试插入时将截断错误、字符串或二进制数据

问题描述

来自@gmmastros 的回答

每当你看到这个消息......

字符串或二进制数据将被截断

自己想想……这个字段不够大,无法容纳我的数据。

检查客户表的表结构。我想您会发现一个或多个字段的长度不足以容纳您尝试插入的数据。例如,如果 Phone 字段是 varchar(8) 字段,并且您尝试将 11 个字符放入其中,您将收到此错误

解决方法

我正在运行带有以下行的 data.bat 文件:

Rem Tis batch file will populate tables

cd\program files\Microsoft SQL Server\MSSQL
osql -U sa -P Password -d MyBusiness -i c:\data.sql

data.sql 文件的内容是:

   insert Customers
            (CustomerID,CompanyName,Phone)
             Values('101','Southwinds','19126602729')

还有 8 个类似的行用于添加记录。

当我使用start> run> cmd>运行它时c:\data.bat,我收到以下错误消息:

1>2>3>4>5>....<1 row affected>
Msg 8152,Level 16,State 4,Server SP1001,Line 1
string or binary data would be truncated.

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

<1 row affected>

另外,我显然是一个新手,但是 和 是什么Level #意思state #,以及如何查找错误消息,例如上面的错误消息:8152?