2

次の挿入SQLクエリを使用してMSSQLServer2008データベースに挿入するために必要なバックスラッシュ付きの文字列があります。

INSERT INTO Databsename.dbo.tblname
VALUES     (Getdate(),
            Getdate(),
            'NewsHoroscopetest/voice/_06101214132pm014771957.wav',
            20,
            '014771045',
            '01454545') 

ここでは、文字列値のバックスラッシュが原因で挿入が失敗しました。また、ダブルバックスラッシュを使用してみました。次のエラーが表示されます。

Msg 8152, Level 16, State 14, Line 1
String or binary data would be truncated.
The statement has been terminated.

上記のSQLのバックスラッシュをエスケープするにはどうすればよいですか?

4

1 に答える 1

2

問題はバックスラッシュとは関係ありません。彼らは逃げる必要はありません

おそらく、挿入する値の少なくとも 1 つの長さが、挿入先の列に対して長すぎます。3 番目の値の長さは 51 文字で、これを列に挿入していると思いvarchar(50)ます。

再確認してそうでない場合は、テーブルの挿入トリガーで同様の問題が発生している可能性があります。

于 2012-10-06T09:20:36.300 に答える