1. ホーム
  2. sql

[解決済み】挿入時に文字列またはバイナリデータが切り捨てられるというエラーが発生する

2022-03-31 08:29:32

質問

以下の行を含む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?

解決方法は?

から gmmastrosさんの回答

メッセージを見るたびに...。

<ブロッククオート

文字列またはバイナリデータが切り捨てられる

自分なりに考えてみると...。このフィールドは、私のデータを保持するのに十分な大きさではありません。

顧客テーブルのテーブル構造を確認してください。 挿入しようとしているデータを保持するために、1つまたは複数のフィールドの長さが十分でないことがわかると思います。 例えば、Phoneフィールドがvarchar(8)フィールドで、そこに11文字を入れようとすると、このエラーが表示されます。